CSS可以繪制哪些常見(jiàn)的特殊形狀赦邻?

大家好,我是IT修真院北京分院25期的學(xué)員实檀,一枚正直純潔善良的web前端程序員

今天給大家分享一下惶洲,修真院官網(wǎng)css任務(wù)5,深度思考中的知識(shí)點(diǎn)——CSS可以繪制哪些常見(jiàn)的特殊形狀

1.背景介紹

在寫(xiě)網(wǎng)頁(yè)的時(shí)候膳犹,會(huì)遇到需要裝飾一些幾何圖形的情況恬吕,用css就可以實(shí)現(xiàn)很多特殊形狀的繪制。它的特點(diǎn)是放大后圖像不會(huì)失真须床,文件的占用空間較小铐料,也可以減少http的請(qǐng)求。

2.知識(shí)剖析

在css繪制圖形時(shí)侨颈,一般要使用到border-radius,transform(旋轉(zhuǎn):rotate,縮放:scale,傾斜:skew,移動(dòng):translate)等屬性來(lái)實(shí)現(xiàn)

border-radius的值可以設(shè)定為具體的長(zhǎng)度或者是百分比余赢。當(dāng)border-radius的值為百分比時(shí),相對(duì)的是包含邊框哈垢,padding后的尺寸妻柒。而不是單純地相對(duì)于width/height值。

旋轉(zhuǎn) rotate

用法:transform: rotate(45deg);

共一個(gè)參數(shù)“角度”耘分,單位deg為度的意思举塔,正數(shù)為順時(shí)針旋轉(zhuǎn),負(fù)數(shù)為逆時(shí)針旋轉(zhuǎn)求泰,上述代碼作用是順時(shí)針旋轉(zhuǎn)45度央渣。

縮放 scale

用法:transform: scale(0.5) ?或者 ?transform: scale(0.5, 2);

參數(shù)表示縮放倍數(shù);

一個(gè)參數(shù)時(shí):表示水平和垂直同時(shí)縮放該倍率

兩個(gè)參數(shù)時(shí):第一個(gè)參數(shù)指定水平方向的縮放倍率渴频,第二個(gè)參數(shù)指定垂直方向的縮放倍率芽丹。

傾斜 skew

用法:transform: skew(30deg) ?或者 transform: skew(30deg, 30deg);

參數(shù)表示傾斜角度,單位deg

一個(gè)參數(shù)時(shí):表示水平方向的傾斜角度卜朗;

兩個(gè)參數(shù)時(shí):第一個(gè)參數(shù)表示水平方向的傾斜角度拔第,第二個(gè)參數(shù)表示垂直方向的傾斜角度。

移動(dòng) translate

用法:transform: translate(45px) ?或者 transform: translate(45px, 150px);

參數(shù)表示移動(dòng)距離

本篇主要會(huì)用到skew和rotate

3.常見(jiàn)問(wèn)題

如何用CSS繪制圓形(橢圓形)/三角形(梯形)/平行四邊形

4.解決方案

5.編碼實(shí)戰(zhàn)

圓形/橢圓形

.circle{

width:10rem;

height:10rem;

border-radius:50%;

background:orange;

}

橢圓形只需改變矩形的邊長(zhǎng)

三角形/梯形

.triangle{

margin-top:5rem;

width:0;

border-bottom:5rem solid#00a000;

border-left:5rem solid transparent;

border-right:5rem solid transparent;

}

梯形只需設(shè)定width的值即可

平行四邊形

.parallelogram{

margin:5rem;

width:10rem;

height:5rem;

transform:skew(30deg);

background:orange;

}

6.擴(kuò)展思考

1.css繪制三角形的原理是什么

首先來(lái)看一下正常塊元素設(shè)置四條不同顏色邊框效果:為了效果明顯场钉,所有邊框?qū)挾染鶠?0px蚊俺;

上圖 html 和 css 代碼如下:

.test-border{

border-top:50px solid #ff0000;

border-bottom:50px solid #00a000;

border-left:50px solid #ff7f50;

border-right:50px solid #436eee;

}

當(dāng)我去掉內(nèi)容時(shí)

效果如下:

.test-border{

width:0;height:0;

border-top:50px solid #ff0000;

border-bottom:50px solid #00a000;

border-left:50px solid #ff7f50;

border-right:50px solid #436eee;

}

我相信,看到上面效果圖逛万,距離實(shí)現(xiàn)三角形四個(gè)方向帶箭頭已經(jīng)不遠(yuǎn)了泳猬,

如果我們將上圖的下邊框顏色設(shè)置為透明,即?border-right: 50px solid transparent;

效果如下:

如果我們我們?nèi)サ?border-right ,效果相信大家都能猜到得封,CSS 和?如下圖所示:

.test-border{

width:0;

height:0;

border-top:50px solid #ff0000;

border-bottom:50px solid #00a000

;border-left:50px solid #ff7f50;

}


我們將上邊框和下邊框的顏色設(shè)置成透明

.test-border{

width:0;

height:0;

border-top:50px solid transparent;

border-bottom:50px solid transparent;

border-left:50px solid #ff7f50;

}

便得到了一個(gè)左三角形

2.如何繪制一個(gè)簡(jiǎn)單的氣泡框


HTML部分

<div class="tip">

? ? ?<div class="tri">

? ? ?</div>

</div>

css部分:

.tip{

width:20rem;

height:4rem;

background:#b9e9f5;

position:relative;

margin-bottom:5rem;

}

.tri{

width:0;

height:0;

position:absolute;

top:4rem;

left:10%;

border-top:1.8rem solid#b9e9f5;

border-right:0.9rem solid transparent;

border-left:0.9rem solid transparent;

}

7.參考文獻(xiàn)

參考一:經(jīng)典CSS實(shí)現(xiàn)三角形圖標(biāo)原理解析

參考二:CSS3屬性transform詳解之(旋轉(zhuǎn):rotate,縮放:scale,傾斜:skew,移動(dòng):translate)

8.更多討論

用css繪圖五角星是如何做成的埋心?

9.鳴謝

感謝大家觀(guān)看

BY : 周霆偉|馬靖哲

PPT鏈接

視頻鏈接:密碼: zvcu

技能樹(shù).IT修真院

“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開(kāi)始呛每,找個(gè)師兄踩窖,帶你入門(mén),掌控自己學(xué)習(xí)的節(jié)奏晨横,學(xué)習(xí)的路上不再迷醚笕”。

這里是技能樹(shù).IT修真院手形,成千上萬(wàn)的師兄在這里找到了自己的學(xué)習(xí)路線(xiàn)啥供,學(xué)習(xí)透明化,成長(zhǎng)可見(jiàn)化库糠,師兄1對(duì)1免費(fèi)指導(dǎo)伙狐。快來(lái)與我一起學(xué)習(xí)吧?瞬欧!

猛戳這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贷屎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子艘虎,更是在濱河造成了極大的恐慌唉侄,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件野建,死亡現(xiàn)場(chǎng)離奇詭異属划,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)候生,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)同眯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人唯鸭,你說(shuō)我怎么就攤上這事须蜗。” “怎么了目溉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵明肮,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我停做,道長(zhǎng),這世上最難降的妖魔是什么大莫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任蛉腌,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烙丛。我一直安慰自己舅巷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布河咽。 她就那樣靜靜地躺著钠右,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忘蟹。 梳的紋絲不亂的頭發(fā)上飒房,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音媚值,去河邊找鬼狠毯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褥芒,可吹牛的內(nèi)容都是我干的嚼松。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼锰扶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼献酗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蕴侣,失蹤者是張志新(化名)和其女友劉穎硬毕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體锨亏,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年忙干,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了器予。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捐迫,死狀恐怖乾翔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情施戴,我是刑警寧澤反浓,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站赞哗,受9級(jí)特大地震影響雷则,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肪笋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一月劈、第九天 我趴在偏房一處隱蔽的房頂上張望度迂。 院中可真熱鬧,春花似錦猜揪、人聲如沸惭墓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)腊凶。三九已至,卻和暖如春拴念,著一層夾襖步出監(jiān)牢的瞬間钧萍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工丈莺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留划煮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓缔俄,卻偏偏與公主長(zhǎng)得像弛秋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子俐载,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容