接着之前的[css]我要用css画幅画(一) , 今天,我又画一个房子,很简单,屋顶、墙壁、门。
现在开始,做得效果都只兼容chrome,所以下面的css3的属性可能只有-webkit-前缀。 我只是为了兴趣画画, 何必理会兼容性呢,是吧?
html如下:
Css Paint
View Code
css如下:
(原来的sun.css)
1 .sun{ 2 position: relative; 3 } { 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 }
sun.css(新增的house.css)
1 .house-width { 2 width: 600px; 3 } { 6 bottom: 20px; 7 height: 400px; 8 left: 600px; 9 position: absolute; 10 } { 13 background: gold; 14 border: 3px solid #000; 15 left: -30px; 16 height: 180px; 17 position: relative; 18 } { 21 border-left-width: 15px; 22 float: left; 23 -webkit-transform: matrix(0.25, 0, -0.4, 1, -298, 0); 24 } { 27 -webkit-transform: matrix(1, 0, 0.3, 1, 0, 0); 28 } { 31 border: 2px solid #000; 32 height: 220px; 33 } 34 .house-wall::before{ 35 border: 2px solid #000; 36 height: 220px; 37 width:130px; 38 content:''; 39 left: -133px; 40 top: 186px; 41 position: absolute; 42 display: block; 43 } { 46 background: orange; 47 bottom: 0px; 48 height: 180px; 49 left: 110px; 50 position: absolute; 51 width: 110px; 52 } { 55 background: brown; 56 border: 1px solid #000; 57 border-radius: 50%; 58 height: 15px; 59 position: absolute; 60 right: 10px; 61 top: 90px; 62 width:15px; 63 }
house.css
下面是code pen中的效果: Sun and house
这里用到了以下这个陌生的css:
-webkit-transform: matrix(1, 0, 0.3, 1, 0, 0); (由于任性的我只兼容chrome, 所以这里都带有-webkit前缀, 如果你要在FIREFOX下用,就改成-moz-前缀吧)
matrix, 我在画屋顶时用到它,matrix是用于画矩形的。
matrix的MDN文档在此:https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform
另外,你可以在这里试验这个属性不同参数下的表现:
matrix接受6个参数, 这六个参数均接受正负小数:
1. 表示宽度的变性比例, 1表示100%,即不变, 0.25表示只有原本的25%。