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

    几年前开始就一直想用css画幅画。

    今天才真正开始, 从简单的开始。

    作为一个工作压力那么大的程序员,我首先要画一个太阳。

    html如下:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Css Paint</title>
     6     <link rel="stylesheet" type="text/css" href="css/style.css">
     7 </head>
     8 <body>
     9     <div class="sun">
    10         <div class="sun-body"></div>
    11         <div class="sun-shine-light sun-shine-light1"></div>
    12         <div class="sun-shine-light sun-shine-light2"></div>
    13         <div class="sun-shine-light sun-shine-light3"></div>
    14         <div class="sun-shine-light sun-shine-light4"></div>
    15         <div class="sun-shine-light sun-shine-light5"></div>
    16     </div>
    17 </body>
    18 </html>
    View Code

    css如下:

     1 .sun{
     2     position: relative;
     3 }
     4 
     5 .sun-body{    
     6     background-color: red;
     7     border-radius: 50%;
     8     height: 300px;
     9     left: -100px;
    10     position: absolute;
    11     top: -100px;
    12     width: 300px;
    13     z-index: 9;
    14 }
    15 .sun-shine-light{
    16     background-color: yellow;
    17     height: 5px;
    18     left:250px;
    19     margin-top:30px;
    20     position: relative;
    21     width: 300px;
    22     z-index:10;
    23 }
    24 .sun-shine-light1{
    25     -webkit-transform: rotate(-3deg);
    26     -moz-webkit-transform: rotate(-3deg);
    27     -ms-webkit-transform: rotate(-3deg);
    28     -o-webkit-transform: rotate(-3deg);
    29 }
    30 .sun-shine-light2{
    31     top: 70px;
    32     left: 240px;
    33     -webkit-transform: rotate(10deg);
    34     -moz-webkit-transform: rotate(10deg);
    35     -ms-webkit-transform: rotate(10deg);
    36     -o-webkit-transform: rotate(10deg);
    37 }
    38 .sun-shine-light3{
    39     top: 160px;
    40     left: 195px;
    41     -webkit-transform: rotate(30deg);
    42     -ms-transform: rotate(30deg);
    43     -o-transform: rotate(30deg);
    44     transform: rotate(30deg);
    45 }
    46 .sun-shine-light4{
    47     top: 215px;
    48     left: 85px;    
    49     width: 260px;
    50     -webkit-transform: rotate(55deg);
    51     -ms-transform: rotate(55deg);
    52     -o-transform: rotate(55deg);
    53     transform: rotate(55deg);
    54 }
    55 .sun-shine-light5{
    56     top: 200px;
    57     left: -50px;
    58     width: 230px;
    59     -webkit-transform: rotate(85deg);
    60     -ms-transform: rotate(85deg);
    61     -o-transform: rotate(85deg);
    62     transform: rotate(85deg);
    63 }
    View Code

    依照@魔芋铃的建议, 以下是效果的链接(再次感谢):

    效果

    这里用到一个比较陌生的css属性: transform:rotate(Ndeg)  

    作用是旋转,其中N为整数,表示旋转的角度。旋转基于对象的重心。

    心得:

    当对象尺寸(长宽)改变时,旋转的重心也会跟着改变,被这个特性折腾了不少时间。

    在上面的光线旋转了一定角度后,宽度看起来会变长一点。于是又修改它的width,然后相应的left、top都需要修改了(因为重心位置变了)。

    今天就到这。以后继续。 谢谢观看。

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

  • 相关阅读:
    UVa 116 单向TSP(多段图最短路)
    POJ 1328 Radar Installation(贪心)
    POJ 1260 Pearls
    POJ 1836 Alignment
    POJ 3267 The Cow Lexicon
    UVa 1620 懒惰的苏珊(逆序数)
    POJ 1018 Communication System(DP)
    UVa 1347 旅行
    UVa 437 巴比伦塔
    UVa 1025 城市里的间谍
  • 原文地址:https://www.cnblogs.com/bee0060/p/4934721.html
Copyright © 2011-2022 走看看