国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

CSS 實(shí)現(xiàn)平行四邊形的示例代碼

2024-07-11 08:58:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文介紹了CSS 實(shí)現(xiàn)平行四邊形的示例代碼,分享給大家,具體如下:

先上效果圖

平行四邊形可以用做導(dǎo)航欄部分。

原理:利用transform屬性拉伸矩形。

CSS代碼

transform: skewX(-45deg);

上面的代碼表示:沿X軸傾斜 -45 度。

但如果只用上面的代碼作用在元素上,會(huì)導(dǎo)致其內(nèi)容也發(fā)生傾斜變形,會(huì)影響閱讀。

解決方法1:嵌套元素

用嵌套元素的方法,對(duì)內(nèi)容再應(yīng)用一次反向的 skew() 變形,從而抵消容器對(duì)內(nèi)容產(chǎn)生的變形效果。

HTML代碼

<a href="http://suo.im/1yaTY3">    <div>HOME</div></a>

CSS代碼

a {    width: 100px;    height: 40px;    display: flex;    justify-content: center;    align-items: center;    background: #58a;    text-decoration: none;    color: #fff;    transform: skewX(-45deg);}div {    transform: skewX(45deg);}

效果如圖所示

這種方法在表現(xiàn)上很不錯(cuò),不過(guò)在邏輯上比較直接粗暴。

我們理解的HTML,更應(yīng)該作用在框架的搭建上,而不是樣式的表現(xiàn)上。如果結(jié)構(gòu)層的更變是不允許的,或者希望嚴(yán)格保持結(jié)構(gòu)層的純凈度,這種方法不是好方法。

注意:像上面的例子中,如果想把布局的樣式用在a(內(nèi)聯(lián)元素)里,記得把它的display設(shè)成inline-block或block等值,否則變形不會(huì)生效。

這里我設(shè)置成flex,為了方便把內(nèi)容居中。

解決方法二:偽元素

把所有樣式應(yīng)用到偽元素上,然后再對(duì)偽元素進(jìn)行變形。
內(nèi)容層(文字部分)只做顏色、字號(hào)等設(shè)置。

HTML代碼

<a href="http://suo.im/1yaTY3">    HOME</a>

CSS代碼

a::before {    content: '';    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0;    z-index: -1;    background: #58a;    transform: skewX(-45deg);}a {    width: 100px;    height: 40px;    position: relative;    display: flex;    justify-content: center;    align-items: center;    color: #fff;    text-decoration: none;}

也能得到同樣的效果。這種方法不會(huì)污染HTML結(jié)構(gòu)層。

這種方法為偽元素保持了良好的靈活性,可以自動(dòng)繼承其宿主元素的尺寸。

首先給宿主元素應(yīng)用 position: relative 樣式,并為偽元素設(shè)置 position: absolute,然后再把所有偏移量設(shè)置為0,以便讓它在水平和垂直方向上都被拉伸至宿主元素的尺寸(top: 0; right: 0; bottom: 0; left: 0;)。

此時(shí),用偽元素生成的方塊是重疊在內(nèi)容之上的,一旦給它設(shè)置背景,就會(huì)遮住內(nèi)容。所以要為偽元素設(shè)置 z-index: -1 。這樣它的堆疊層次就會(huì)被推到宿主元素之后。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 香格里拉县| 延川县| 宁蒗| 祁连县| 阿拉善右旗| 蓬溪县| 阳新县| 铅山县| 紫阳县| 丹阳市| 衡水市| 方山县| 洛隆县| 剑河县| 安宁市| 巍山| 大理市| 荣成市| 横山县| 合肥市| 习水县| 富锦市| 辽阳市| 东山县| 甘洛县| 阿荣旗| 新民市| 枣庄市| 常德市| 临颍县| 浦城县| 舟曲县| 阿鲁科尔沁旗| 卢氏县| 若羌县| 桑植县| 新邵县| 西峡县| 象山县| 乐平市| 大名县|