最近遇到一个需求,是以前做PHP的同事问我的问题

    下面是他在百度发的问题截图

  

   根据上面的截图,我稍微梳理了一下

  问题:现在有个div,旋转45度后,这个div的宽度会动态改变,并且要向右上方偏移

  需求:现在想要该div旋转45度后,宽度动态改变的同时,不要向右上方偏移

     注:这个动态添加的宽度理论上不限制,一般限制在0-1000px

  然后我在处于蒙蔽的状态下思考,寻找解决方法,最后,找到了css3的transform-origin 属性

  这个属性的意思是:让你更改一个元素变形的原点。我的理解是,可以让你以某个点为圆心旋转

  虽然这个属性并不能完全解决向右上方偏移的问题,但经过测试,如果在0-1000px的范围里,偏移量是很小的

 

  

  demo

<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
.son {
position: fixed;
width: 100px;
height: 150px;
margin-top: 100px;
border: 5px solid red;
transform: rotate(45deg);
transform-origin: 6% 90%;
}
</style>
</head> <body> <div class="son"></div> </body> </html>

  注:运行该demo,在谷歌开发者工具中手动调整div宽度,即可看到0-1000px时,偏移的距离

  补充:据同事讲,他是在做一个标注工具,能够圈图片上一些东西识别,

     我也没做过,个人觉得该需求不太合理,技术实现上也有一定难度,

     如果有小伙伴有好的方法,欢迎留言解惑

一个需求认识CSS3 的transform-origin属性的更多相关文章

  1. 用CSS3的transform来做一个立方体

    有一次上数据结构课老师布置了一个用队列的思想通过js和Html来做一个“跳舞配对”的网页,当时那个跳舞的部分用了css3里面transform的相关属性做了个个让图片无限翻转的效果,可能正是由于这个效 ...

  2. CSS3中transform几个属性值的注意点

    transform(变形)是CSS3中的元素的属性,transform的属性值主要包括旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix 基本用法可以参考文 ...

  3. CSS3那些不为人知的高级属性

    尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius.box-shadow或者transform等.它们有良好的文档 ...

  4. 好吧,CSS3 3D transform变换,不过如此!

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  5. CSS3 2D Transform

    在 一个二维或三维空间,元素可以被扭曲.移位或旋转.只不过2D变形工作在X轴和Y轴,也就是大家常说的水平轴和垂直轴:而3D变形工作在X轴和Y轴之外, 还有一个Z轴.这些3D变换不仅可以定义元素的长度和 ...

  6. CSS3 3D Transform

    CSS3 3D Transform 原文:http://www.w3cplus.com/css3/css3-3d-transform.html 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换, ...

  7. CSS3学习之 animation 属性

    发现animation这个新属性很有趣,在此学习,并整理下!  浏览器支持: Internet Explorer 10.Firefox 以及 Opera 支持 animation 属性: Safari ...

  8. 好吧,CSS3 3D transform变换,不过如此!——张鑫旭

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  9. css3的transform,translate和transition之间的区别与作用

    transform 和 translate transform的中文翻译是变换.变形,是css3的一个属性,和其他width,height属性一样 translate 是transform的属性值,是 ...

随机推荐

  1. strcat的用法

    原型: char *strcat(char *str1,char *str2); strcat的实现: char* MyStrcat(char *dst, const char*src) { if ( ...

  2. 超简单的全新win10安装

    1.准备工作! 这里说一下需要装系统的东西: 至少8G的U盘或内存卡 一台Windows电脑 在要安装的电脑上至少有16G的空间,最好至少64G. 2.现成电脑下载文件(已经有重装系统U盘跳过这一步) ...

  3. 使用struts2框架后的拦截器

    过滤特殊字符的过滤器 struts2会在web.xml中配置如下的过滤器: <filter> <filter-name>struts</filter-name> & ...

  4. 遍历ArcMap已加载数据的属性

    import arcpy f = open("D:\workspace\coords.txt","w") with arcpy.da.SearchCursor( ...

  5. WCF系列_WCF影响客户端导出Excel文件的实现

    需求:WCF搭建服务端提供导出并下载Excel文件接口,客户端使用ajax发起请求,浏览器直接下载Excel文件. 难点:WCF中并没有HttpContext对象,因此,服务端总是获取不到HttpCo ...

  6. Oracle学习——dmp文件(表)导入与导出

    Oracle学习——dmp文件(表)导入与导出 2014-12-28      0个评论    来源:张文康 廊坊师范学院信息技术提高班 第九期   收藏    我要投稿 前言 关于dmp文件我们用的 ...

  7. python 实现快排序

    def q_sort(arr): if len(arr)<2: return arr pivot = arr[0] less = [x for x in arr[1:] if x <= p ...

  8. day31并发

    以后你为之奋斗的两点: 提高cpu的利用率 提高用户的体验  1.纯概念/纯方法 操作系统的发展历程 #主要的人机矛盾是什么:CPU的使用率 #输入\输出数据和CPU计算没有关系 #操作系统是怎么进化 ...

  9. Python从入门到精通之Forth!

    Python基本数据类型之列表 补充:range()方法 python2: range   立即创建 xrange  for循环的时候才一个一个创建 Python3: range     for循环的 ...

  10. 文件在线预览doc,docx转换pdf(一)

    文件在线预览doc,docx转换pdf(一) 1. 前言 文档转换是一个是一块硬骨头,但是也是必不可少的,我们正好做的知识库产品中,也面临着同样的问题,文档转换,精准的全文搜索,知识的转换率,是知识库 ...