• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            divcss教程(divcss布局實例)

            更新時間:2023-03-02 09:27:20 閱讀: 評論:0

            給你一個div,你能用CSS繪制一個正三角形、正方形、正五邊形、正六邊形、正七邊形、正八邊形嗎?

            今天我們來玩一個有趣的CSS實驗,想象下,只用一個div,你能用CSS繪制一個正三角形、正方形、正五邊形、正六邊形、正七邊形、正八邊形嗎?今天筆者帶著大家一起動手實踐下這個有趣的聯系,由于正多邊形用到不少三角函數計算,為了方便計算,這里正多邊形統一設定為100px,為啥只做到正八邊形?因為就一個div最多只能做到正八邊形。

            正三角形

            正三角形不需要用到偽元素,只需要設定div本身的邊框寬度即可產生,先來看一下正三角形的邊長與中線,若邊長為100px,則中線四舍五入就是87px ( 100 x sin(60) = 87 )。

            因此我們要將div的長寬都設為0,接著把底部border的寬度設為87px,左右的border寬度設為50px (顏色設為透明transparent ),就可以做出一個漂亮的三角形。

            width:0;height:0;border-width:0 50px 87px ;border-style:solid;border-color:transparent transparent #095;正方形

            正方形應該是最簡單的,只要設定長寬設定為同樣數值就可以了,不過其實還有另外兩種方法,第一種你可以把長寬設為0,把上下左右的border設為50px也可以,第二種則是高度設為0,寬度設為100px,然后某個邊寬也設為100,都是可以的。

            .a{width:100px;height:100px;background:#c00;}.b{width:0;height:0;border-width:50px;border-style:solid;border-color:#095;}.c{width:100px;height:0;border-width:0 0 100px;border-style:solid;border-color:#069;}正五邊形

            正五邊形就需要進入基本的三角函數領域了,其實知道了原理還是蠻簡單的。讓我們先把正五邊形分解,用原本的div作為上方的三角形,然后用一個偽元素制作下方的梯形,因為正五邊形每邊的夾角為108度,所以可以藉由三角函數計算出上方三角形的高度為59px ( 100 x cos(54) ),寬度為192px ( 100 x sin(54) x 2 ),下方梯形的高度為95px ( 100 x sin(72) ),長邊的寬度跟上面的三角形一樣都是192px。

            了解原理之后,就可以利用偽元素來搭配制作啰!

            .a{ position:relative; width:0; height:0; border-width:0 81px 59px; border-style:solid; border-color:transparent transparent #069;}.a:before{ position:absolute; content:""; top:59px; left:-81px; width:100px; height:0; background:none; border-width:95px 31px 0; border-style:solid; border-color:#069 transparent transparent; }正六邊形

            正六邊形的每個夾角是120度,如果以純CSS的方向來看的話,就是把正五邊形上面的三角形改變一下,就可以做出正六邊形,也就是變成上下兩個梯形的組合而已,梯形的長邊為200px ( 100 x cos(60) x 2 + 100 ),梯形的高度為87px ( 100 x sin(60) )。

            所以只要把正五邊形的CSS稍作修改就可以做出正六邊形了。

            .a{ position:relative; width:100px; height:0; border-width:0 50px 87px; border-style:solid; border-color:transparent transparent #f80;}.a:before{ position:absolute; content:""; top:87px; left:-50px; width:100px; height:0; background:none; border-width:87px 50px 0; border-style:solid; border-color:#f80 transparent transparent; }正七邊形

            正七邊形開始就必須再使用after 這個偽元素了,因為正七邊形必須要拆解為三個區塊,分別是用原本的div 作為上面的三角形,一個偽元素作為中間的梯形,然后另一個偽元素作為底部的梯形,正七邊形的夾角比較特殊不是整數,而是128又4/7 度,大概取到小數第二位是128.57,所以計算起來結果就如下圖所示,重點就是必須要清楚地知道長寬是多少。

            有了長寬之后,就開始用CSS來寫啰!

            .a{ position:relative; width:0; height:0; border-width:0 90px 43px; border-style:solid; border-color:transparent transparent #09c;}.a:before{ position:absolute; content:""; top:140px; left:-112px; width:100px; height:0; border-width:78px 62px 0; border-style:solid; border-color:#09c transparent transparent; } .a:after{ position:absolute; content:""; top:43px; left:-112px; width:180px; height:0; border-width:0 22px 97px; background:none; border-style:solid; border-color:transparent transparent #09c; }正八邊形

            正八邊形其實就是把正七邊形上面的三角形變成梯形,然后中間的梯形變成矩形就搞定了,正八邊形的夾角為135 度,計算出來的各個區域長寬如下圖。

            同樣的了解原理,CSS做起來就簡單多啰!

            .a{ position:relative; width:100px; height:0; border-width:0 71px 71px; border-style:solid; border-color:transparent transparent #f69;}.a:before{ position:absolute; content:""; top:171px; left:-71px; width:100px; height:0; border-width:71px 71px 0; border-style:solid; border-color: #f69 transparent transparent; } .a:after{ position:absolute; content:""; top:71px; left:-71px; width:242px; height:0; border-width:0 0 100px; background:none; border-style:solid; border-color:transparent transparent #f69; }加點料:動起來!

            以上就是純粹利用CSS做出來的單一div的正多邊形變換,是不是很好玩,一個div能做出來這么多形狀,是不是很過癮,不過癮的話,我們加點料來點動畫,其實加上動畫效果,就可以做出像下面范例這個樣子的變換動畫啰!不過下面的范例筆者再最外層另外用一個div進行包裹,避免因為大小的變換造成銜接處的不自然,大家可以參考看看喔!

            css部分

            body{ margin:100px; } .s{ position:absolute; -webkit-animation:s 5s infinite linear alternate; } .a{ position:relative; width:0; height:0; border-width:0 50px 87px ; border-style:solid; border-color:transparent transparent #095; -webkit-animation:a 5s infinite linear alternate; } .a:before,.a:after{ position:absolute; content:""; border-width:0; border-style:solid; } .a:before{ -webkit-animation:ab 5s infinite linear alternate; } .a:after{ -webkit-animation:af 5s infinite linear alternate; } @-webkit-keyframes a{ 0%,5%{ width:0; height:0; border-width:0 50px 87px ; border-color:transparent transparent #095; } 23%{ width:0; height:0; border-width:0 50px 0 ; border-color:transparent transparent #c00; } 42%{ width:0; height:0; border-width:0 81px 59px; border-color:transparent transparent #069; } 61%{ width:100px; height:0; border-width:0 50px 87px; border-color:transparent transparent #f80; } 80%{ width:0; height:0; border-width:0 90px 43px; border-color:transparent transparent #09c; } 95%,100%{ width:100px; height:0; border-width:0 71px 71px; border-color:transparent transparent #f69; } } @-webkit-keyframes ab{ 0%,5%{ top:87px; left:-50px; width:100px; height:0; background:#095; border-width:0; border-color:#095 transparent transparent; } 22.99%{ top:0; left:-50px; width:100px; height:100px; background:#c00; border-width:0; border-color:#c00 transparent transparent; } 23%{ top:0; left:-50px; width:100px; height:0; background:none; border-width:100px 0 0; border-color:#c00 transparent transparent; } 42%{ top:59px; left:-81px; width:100px; height:0; background:none; border-width:95px 31px 0; border-color:#069 transparent transparent; } 61%{ top:87px; left:-50px; width:100px; height:0; border-width:87px 50px 0; border-color:#f80 transparent transparent; } 80%{ top:140px; left:-112px; width:100px; height:0; border-width:78px 62px 0; border-color:#09c transparent transparent; } 95%,100%{ top:171px; left:-71px; width:100px; height:0; border-width:71px 71px 0; border-color: #f69 transparent transparent; } } @-webkit-keyframes af{ 0%,61%{ top:87px; left:-50px; width:200px; height:0; border-width:0; background:none; border-color:transparent transparent #f80; } 80%{ top:43px; left:-112px; width:180px; height:0; border-width:0 22px 99px; background:none; border-style:solid; border-color:transparent transparent #09c; } 95%,100%{ top:71px; left:-71px; width:242px; height:0; border-width:0 0 100px; background:none; border-style:solid; border-color:transparent transparent #f69; } } @-webkit-keyframes s{ 0%,5%{ -webkit-transform:translateX(0) translateY(0) scale(1); } 23%{ -webkit-transform:translateX(-15px) translateY(-10px) scale(.9); } 42%{ -webkit-transform:translateX(-50px) translateY(-20px) scale(.8); } 61%{ -webkit-transform:translateX(-70px) translateY(-25px) scale(.7); } 80%{ -webkit-transform:translateX(-80px) translateY(-25px) scale(.6); } 95%,100%{ -webkit-transform:translateX(-100px) translateY(-25px) scale(.5); } }

            html部分

            <div class="s"> <div class="a"></div></div>小節

            今天的內容就到這里,我們的確用一個div,再結合三角函數的相關知識,一口氣繪制完了正三角形、正方形、正五邊形、正六邊形、正七邊形、正八邊形,是不是很有趣呢。你不妨按照上述示例,親自動手試試哦。

            本文發布于:2023-02-28 21:03:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677720440101718.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:divcss教程(divcss布局實例).doc

            本文 PDF 下載地址:divcss教程(divcss布局實例).pdf

            標簽:布局   實例   教程   divcss
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 久99视频| 国产精品国产三级国产av品爱网 | 欧美人人妻人人澡人人尤物| 女同久久一区二区三区| 午夜无码国产18禁| www亚洲精品| 色网av免费在线观看| 少妇被粗大的猛烈进出69影院一 | 日本亚洲欧美高清专区vr专区| 国产精品午夜无码AV在线播放| 老司机亚洲精品一区二区| 无码h片在线观看网站| 国产精品日韩av一区二区| 可以在线观看的亚洲视频| 亚洲精品一区二区美女| 国产高潮刺激叫喊视频| 中文字幕在线日韩一区| 挺进朋友人妻雪白的身体韩国电影 | 老熟妇国产一区二区三区| 亚洲国产精品一二三四五| 精品九九人人做人人爱| 亚洲人成网站18禁止无码| 日韩精品一区二区亚洲专区| 精品国产乱码久久久久夜深人妻| 免费无遮挡毛片中文字幕| 国产又爽又黄又不遮挡视频 | 国产另类ts人妖一区二区| 国产精品福利一区二区久久| 18禁成人免费无码网站| 亚洲成人av在线综合| 亚洲国产午夜理论片不卡| 欧美乱码伦视频免费| 疯狂做受XXXX高潮国产| 欧美熟妇乱子伦XX视频| 国产亚洲精久久久久久无码AV| 顶级嫩模精品视频在线看| 国产女人18毛片水真多1| 国产极品尤物粉嫩在线观看| 中文字幕国产在线精品| 久久天天躁夜夜躁狠狠| 国产国产乱老熟女视频网站97|