亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用css3中的transform skewX實現平行四邊形的導航菜單

發布時間:2022-01-21 16:16:52 來源:億速云 閱讀:327 作者:iii 欄目:web開發

本篇內容介紹了“怎么用css3中的transform skewX實現平行四邊形的導航菜單”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  平行四邊形其實是矩形的超集:它的各條邊是兩兩平行的,但各個角則不一定都是直角。在視覺設計中,平行四邊形往往可以傳達出一種動感。

  讓我們試著用CSS創建一個按鈕狀的平行四邊形鏈接。我們的起點就是一個普通的塊狀按鈕,輔以一些簡單的樣式,然后,我們可以通過skew()的變形屬性來對這個矩形進行斜向拉伸:

  transform:skewX(-45deg);

  但是,這導致它的內容也發生了斜向變形,這很不好看,而且難讀。有沒有辦法只讓容器的形狀傾斜,而保持其內容不變呢?

  很多人會想到嵌套元素方案,那么我們可以對內容再應用一次反向的skew()變形,從而抵消容器的變形效果,最終產生我們所期望的結果。不幸的是,這意味著我們將不得不使用一層額外的HTML元素來包裹內容,比如用一個span:

  <ahref="www.php.cn"class="button">

  <span>www.php.cn</span>

  </a>

  .button{transform:skewX(-45deg);}

  .button>span{transform:skewX(45deg);}

  我們可以看到,這個方法的表現很不錯,但它也意味著我們不得不添加額外的HTML元素。如果結構層的變更是不允許的,或者你希望嚴格保持結構層的純凈度,別擔心,我們還有一個純CSS的解決方案。

  偽元素方案

  另一種思路是把所有樣式(背景、邊框等)應用到偽元素上,然后再對偽元素進行變形。因為我們的內容并不是包含在偽元素里的,所以內容并不會受到變形的影響。下面來看看這個技巧能否得到與前面相同的鏈接樣式。

  我們希望偽元素保持良好的靈活性,可以自動繼承其宿主元素的尺寸,甚至當宿主元素的尺寸是由其內容來決定時仍然如此。一個簡單的辦法是給宿主元素應用position:relative樣式,并為偽元素設置position:absolute,然后再把所有偏移量設置為零,以便讓它在水平和垂直方向上都被拉伸至宿主元素的尺寸。代碼看起來是這樣的:

  .button{

  position:relative;

  /*其他的文字顏色、內邊距等樣式&hellip;&hellip;*/

  }

  .button::before{

  content:'';

  position:absolute;

  top:0;right:0;bottom:0;left:0;

  }

  此時,用偽元素生成的方塊是重疊在內容之上的,一旦給它設置背景,就會遮住內容。為了修復這個問題,我們可以給偽元素設置z-index:-1樣式,這樣它的堆疊層次就會被推到宿主元素之后。現在我們要做的最后一步,就是盡情地對它設置變形樣式,并享受美好的結果。最終版的代碼如下所示,它產生的視覺效果跟前文所述技巧是完全一致的:

  .button{

  position:relative;

  /*其他的文字顏色、內邊距等樣式&hellip;&hellip;*/

  }

  .button::before{

  content:'';/*用偽元素來生成一個矩形*/

  position:absolute;

  top:0;right:0;bottom:0;left:0;

  z-index:-1;

  background:#58a;

  transform:skew(45deg);

  }

  這個技巧不僅對skew()變形來說很有用,還適用于其他任何變形樣式,當我們想變形一個元素而不想變形它的內容時就可以用到它。舉個例子,我們把這個技巧針對rotate()變形樣式稍稍調整一下,再用到一個正方形元素上,就可以很容易地得到一個菱形。

  這個技巧的關鍵在于,我們利用偽元素以及定位屬性產生了一個方塊,然后對偽元素設置樣式,并將其放置在其宿主元素的下層。這種思路同樣可以運用在其他場景中,從而得到各種各樣的效果。
怎么用css3中的transform skewX實現平行四邊形的導航菜單

“怎么用css3中的transform skewX實現平行四邊形的導航菜單”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同江市| 安义县| 金寨县| 垣曲县| 福建省| 兴宁市| 明水县| 乃东县| 曲麻莱县| 武夷山市| 福建省| 财经| 漳浦县| 陈巴尔虎旗| 武清区| 肇庆市| 梨树县| 绩溪县| 金沙县| 元阳县| 商南县| 南皮县| 长垣县| 泰宁县| 阳信县| 湖州市| 新巴尔虎左旗| 宁远县| 横峰县| 桓台县| 宣武区| 平昌县| 犍为县| 临安市| 庆城县| 和平县| 大庆市| 林芝县| 肥西县| 闸北区| 广饶县|