zoukankan      html  css  js  c++  java
  • [css]我要用css画幅画(三)

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

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

    html如下:

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

    css如下:

     1 .left-190 {
     2     left: 190px;
     3 }
     4 
     5 .bottom-25 {
     6     bottom: 25px;
     7 }
     8 
     9 .human {
    10     height:170px;
    11     width: 120px;
    12 
    13     position: absolute;
    14 }
    15 
    16 .lines {
    17     position: absolute;
    18     top: -20px;
    19     width: 220px;
    20     display: block;
    21 }
    22 
    23 .human-head-normal {
    24     border: 2px solid #000;
    25     height: 40px;
    26     width: 40px;
    27     border-radius: 50%;
    28     position: absolute;
    29     top: 20px;
    30     left: 35px;
    31 }
    32 .human-body-normal {
    33     height: 60px;
    34     width: 3px;
    35     background: #000;
    36     left: 55px;
    37     top: 62px;
    38     position: absolute;
    39 }
    40 
    41 .human-arms-normal {
    42     width: 80px;
    43     height: 3px;
    44     position: absolute;
    45     background: #000;
    46     left: 18px;
    47     top: 75px;
    48 }
    49 
    50 .human-legs-normal {
    51     height:50px;
    52     width: 50px;
    53     border: 3px solid #000;
    54     border-bottom: none;
    55     border-right: none;
    56     position: absolute;
    57     left: 55px;
    58     top: 120px;
    59 
    60     -webkit-transform: rotate(45deg);
    61     -webkit-transform-origin: 1px 1px;
    62 }
    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画幅画(四)

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/bee0060/p/4960666.html
Copyright © 2011-2022 走看看