接着之前的[css]我要用css画幅画(二), 今天,我画了一个小人,他的名字暂时叫作小明。

以下只列出本次修改增加的内容

html如下:

 <div class="human left-190 bottom-25">
<p class="lines">大家好,我叫小明</p>
<div class="human-head-normal"></div>
<div class="human-body-normal"></div>
<div class="human-arms-normal"></div>
<div class="human-legs-normal"></div>
</div>

human

css如下:

 .left-190 {
left: 190px;
} .bottom-25 {
bottom: 25px;
} .human {
height:170px;
width: 120px; position: absolute;
} .lines {
position: absolute;
top: -20px;
width: 220px;
display: block;
} .human-head-normal {
border: 2px solid #000;
height: 40px;
width: 40px;
border-radius: 50%;
position: absolute;
top: 20px;
left: 35px;
}
.human-body-normal {
height: 60px;
width: 3px;
background: #000;
left: 55px;
top: 62px;
position: absolute;
} .human-arms-normal {
width: 80px;
height: 3px;
position: absolute;
background: #000;
left: 18px;
top: 75px;
} .human-legs-normal {
height:50px;
width: 50px;
border: 3px solid #000;
border-bottom: none;
border-right: none;
position: absolute;
left: 55px;
top: 120px; -webkit-transform: rotate(45deg);
-webkit-transform-origin: 1px 1px;
}

human.css

下面是code pen中的效果:  Sun-house-human

或者你可以直接看github上的demo效果: http://bee0060.github.io/Css-Paint/pages/sun-house/sun-house-3.html

代码已经上传github:https://github.com/bee0060/Css-Paint

这里用到了以下这个陌生的css:

-webkit-transform-origin: 1px 1px;

之前两篇有用到transform,也对transform-origin做了一些猜测,但是并没有亲身试验过。这次终于实际用到了。

transform-origin属性用于设置变形的原点,变形将会基于原点进行。

相关的MDN文档: https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform-origin

该属性的默认值是:

-webkit-transform-origin: 50% 50% 0;

也就是对象的重心位置。

第一个参数描述原点在对象上的横向位移(下文简称x), 第二个参数是纵向位移(下文简称y),第三个参数还不太理解,应该是垂直偏移值(即立体几何中的z轴坐标),文档上的原话是:定义变形中心距离用户视线(z=0处)的<length>(不能是<percentage>)偏移值。

前两个参数均接受以下类型的值:

1. 长度,即上面说的<length>, 如1px、1em、1pt等, 但是不接受仅用数字作为值, 如1。

2. 百分比,即上面说的<percentage>, 如50%。

3. 位置描述符, 包括left、right、top、bottom和center。

  其中x可以使用left、right和center, y可以使用top、bottom和center。

  当x和y都使用位置描述符,参数位置可以不按顺序,即以下两种都是允许的:

    -webkit-transform-origin: left top;

    -webkit-transform-origin: top left;

  浏览器会自动识别出x和y的对应描述符。但若不是两个参数都使用位置描述符时, 就需要严格按照x和y的位置, 且位置描述符不可以出现矛盾的情况,如以下几种写法都会被认为是无效的:

    -webkit-transform-origin: top 2px;

    -webkit-transform-origin: left right;

  为了避免不必要的麻烦, 建议还是严格按照参数的位置进行书写比较好。

从上面的例子中,可以看出,前两个参数允许接受不同类型的值,如一个用位置描述符另一个用百分比。

另外,transform-origin属性设置1-3个参数都是可以的。

今天就到这,谢谢观看。 如有错误,欢迎指正。

PS: 我画完小人后,和老婆说这幅画算是画完了,但她说,她小时候画这种画,至少还要有云啊、大树啊、栏杆啊……。 对于这种“需求”,我只能说一句:“臣妾做不到啊!” 云和大树,光想想都觉得超出我的能力范围了。 现在就只画个小人吧。

下一篇:[css]我要用css画幅画(四)

[css]我要用css画幅画(三)的更多相关文章

  1. [css]我要用css画幅画(四)

    接着之前的[css]我要用css画幅画(三), 今天,我画了两朵云,并给小明介绍了个朋友:静静. github:https://github.com/bee0060/Css-Paint , 完整代码在 ...

  2. [css]我要用css画幅画(二)

    接着之前的[css]我要用css画幅画(一) , 今天,我又画一个房子,很简单,屋顶.墙壁.门. 现在开始,做得效果都只兼容chrome,所以下面的css3的属性可能只有-webkit-前缀. 我只是 ...

  3. [css]我要用css画幅画(九) - Apple Logo

    接着之前的[css]我要用css画幅画(八) - Hello Kitty,这次画的是苹果公司的logo 这次打算将分析和实现步骤尽量详细的说一说. 其实之前的也打算详细讲分析和设计过程,不过之前的图比 ...

  4. [css]我要用css画幅画(七) - 哆啦A梦

    接着之前的[css]我要用css画幅画(六),今天画的有所不同,画的是哆啦A梦,我们小时候对他的称呼其实是小叮当机器猫. (PS:这次我要做的事情,很多人已经做过,这并不是什么创新,我只是在学习并记录 ...

  5. [css]我要用css画幅画(八) - Hello Kitty

    接着之前的[css]我要用css画幅画(七) - 哆啦A梦,这次画的是Hello Kitty. /* 开始前先说点废话, 一转眼就2016年了,过完年后一直没更新博客,无他,就是懒得动. 这一转眼,一 ...

  6. [css]我要用css画幅画(六)

    接着之前的[css]我要用css画幅画(五), 由于这个画已经画了很久了,这次一次性加了比较多更新,算是让这幅画告一段落吧. 本次的更新包括: 1. 给云增加动画 2. 画了一棵树 3. 树上画了一个 ...

  7. [css]我要用css画幅画(五)

    接着之前的[css]我要用css画幅画(四), 这次我给小明和静静增加了对话,用了简单的动画效果. github:https://github.com/bee0060/Css-Paint , 完整代码 ...

  8. [css]我要用css画幅画(一)

    几年前开始就一直想用css画幅画. 今天才真正开始, 从简单的开始. 作为一个工作压力那么大的程序员,我首先要画一个太阳. html如下: <!DOCTYPE html> <html ...

  9. div+css网页标准布局实例教程(三)

    前边两节学完后,前台工作基本上完成了,下边的任务该程序员添加程序了.为什么说是基本完成呢?因为要做的工作还很多,不但要把首页做出来,其它的列表页详细页等页面也得做.还要配合程序员把整个网站完成,这样才 ...

随机推荐

  1. geotrellis使用(二十二)实时获取点状目标对应的栅格数据值

    目录 前言 实现方法 总结 一.前言        其实这个功能之前已经实现,今天将其采用1.0版的方式进行了重构与完善,现将该内容进行总结.        其实这个功能很常见,比如google地球上 ...

  2. iOS - 类扩展与分类的区别

    类扩展 (Class Extension也有人称为匿名分类) 作用: 能为某个类附加额外的属性,成员变量,方法声明 一般的类扩展写到.m文件中 一般的私有属性写到类扩展 使用格式: @interfac ...

  3. ZOJ Problem Set - 1048 Financial Management

    我承认这是一道水的不能再水的题,今天一下就做到了,还是无耻的帖上来吧 #include <stdio.h> int main() { double sum=0; for(int i=1;i ...

  4. SSH整合时执行hibernate查询报错:java.lang.ClassCastException: com.ch.hibernate.Department_$$_javassist_0 cannot be cast to javassist.util.proxy

    今天在整合ssh三个框架时,有一个功能,是查询所有员工信息,且员工表和部门表是多对一的映射关系,代码能正常运行到查询得到一个List集合,但在页面展示的时候,就报异常了, java.lang.Clas ...

  5. 第一篇blog

    之前不用blog,但是在杭电oj,poj上刷题,总会自己总结题型和使用什么算法,算法模板,自己在笔记本上写,耗时费力,感觉用键盘敲得总结,分享,大家相互学习提高.有时遇到不会做的,或者总是在oj上跑的 ...

  6. WebGIS中基于AGS的画圆查询简析以及通过Polygon来构造圆的算法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 某个项目需求中需要在前端进行画圆查询,将圆范围上的多边形要素 ...

  7. sql 索引 的建立

    (From:http://54laobaixing.blog.163.com/blog/static/57843681200952411133121/) 假设你想找书中的某一个句子.你可以一页一页地逐 ...

  8. 项目积累html标签

    今天遇到一个不太常用都标签,网上以后慢慢记下项目中用到都东西. 1.<em> 标签 告诉浏览器把其中的文本表示为强调的内容.对于所有浏览器来说,这意味着要把这段文字用斜体来显示. 在文本中 ...

  9. jQuery仿阿里云购买选择购买时间长度

    效果:http://hovertree.com/texiao/jquery/61/ jQuery仿阿里云购买服务器选择时间长度,操作简单,只需点击所要选的时间段 代码: <!doctype ht ...

  10. Java基本概念(1)什么是Java

    什么是Java Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk. Jdk的版本介绍看这里:Java都有那些版本 ...