[css]我要用css画幅画(二)_html/css_WEB-ITnose
接着之前的[css]我要用css画幅画(一) , 今天,我又画一个房子,很简单,屋顶、墙壁、门。
现在开始,做得效果都只兼容chrome,所以下面的css3的属性可能只有-webkit-前缀。 我只是为了兴趣画画, 何必理会兼容性呢,是吧?
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/sun.css" /> 7 <link rel="stylesheet" type="text/css" href="css/house.css" /> 8 </head> 9 <body>10 <div class="sun">11 <div class="sun-body"></div>12 <div class="sun-shine-light sun-shine-light1"></div>13 <div class="sun-shine-light sun-shine-light2"></div>14 <div class="sun-shine-light sun-shine-light3"></div>15 <div class="sun-shine-light sun-shine-light4"></div>16 <div class="sun-shine-light sun-shine-light5"></div>17 </div>18 19 <div class="house-width house">20 <div class="house-width house-roof house-roof-left"></div>21 <div class="house-width house-roof house-roof-right"></div>22 <div class="house-width house-wall">23 24 <div class="house-wall-door">25 26 <div class="house-wall-door-handle"></div>27 </div>28 </div>29 </div>30 </body>31 </html>
css如下:
(原来的sun.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 }
(新增的house.css)
1 .house-width { 2 width: 600px; 3 } 4 5 .house { 6 bottom: 20px; 7 height: 400px; 8 left: 600px; 9 position: absolute;10 }11 12 .house-roof {13 background: gold;14 border: 3px solid #000;15 left: -30px;16 height: 180px;17 position: relative;18 }19 20 .house-roof-left {21 border-left-width: 15px;22 float: left;23 -webkit-transform: matrix(0.25, 0, -0.4, 1, -298, 0);24 }25 26 .house-roof-right {27 -webkit-transform: matrix(1, 0, 0.3, 1, 0, 0);28 }29 30 .house-wall {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 }44 45 .house-wall-door {46 background: orange;47 bottom: 0px;48 height: 180px;49 left: 110px;50 position: absolute;51 width: 110px;52 }53 54 .house-wall-door-handle {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 }
下面是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
另外,你可以在这里试验这个属性不同参数下的表现:http://www.css88.com/tool/css3Preview/Transform-Matrix.html
matrix接受6个参数, 这六个参数均接受正负小数:
1. 表示宽度的变性比例, 1表示100%,即不变, 0.25表示只有原本的25%
2. 表示以原点进行顺时针旋转的数值。 我没太理解,我的猜测是: 这个数值是旋转角度的正切函数的值,也就是当你输入1的时候,会顺时针旋转45度,因为tan45 = 1。或者叫做旋转的斜率。
3. 表示以原点为基准,原点之上向左倾斜变形、原点之下向右倾斜变形的数值, 这个数值我想应该和第二个参数一样是倾斜变形的斜率。 该数值越大,倾斜变形更严重。
4.表示高度的变性比例, 1表示100%,即不变, 0.25表示只有原本的25%
5.表示横向位移的像素值, 该参数只接受数字,不需要填写单位(px)。当你写100时,就向左平移了100px。 也可以输入负数
6.表示纵向位移的像素值, 其他同上
上面提到的“原点”, 可以通过transform-origin属性进行设置,若为设置,应该是对象的重心。
今天就到这,谢谢观看。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.
