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

首頁 > 開發 > CSS > 正文

css實現帶圓角三角型的示例代碼

2024-07-11 08:42:10
字體:
來源:轉載
供稿:網友

前言

目標實現效果圖如下:

實現

<i class="triangle triangle-up"></i><i class="triangle triangle-right"></i><i class="triangle triangle-down"></i><i class="triangle triangle-left"></i>
.triangle{  display: inline-block;  font-size: 0;  overflow: hidden;}.triangle:before{  content: "";  position: relative;  display: inline-block;  border: 25px solid transparent;}.triangle-up{  position: relative;  top: 2px;  border-top-left-radius: 50%;  border-top-right-radius: 50%;}.triangle-up:before{  bottom: 2px;  border-top-width: 0;  border-bottom-width: 50px;  border-bottom-color: rgb(181, 181, 181);}.triangle-right{  position: relative;  right: 2px;  border-top-right-radius: 50%;  border-bottom-right-radius: 50%;}.triangle-right:before{  left: 2px;  border-right-width: 0;  border-left-width: 50px;  border-left-color: rgb(181, 181, 181);}.triangle-down{  position: relative;  bottom: 2px;  border-bottom-right-radius: 50%;  border-bottom-left-radius: 50%;}.triangle-down:before{  top: 2px;  border-bottom-width: 0;  border-top-width: 50px;  border-top-color: rgb(181, 181, 181);}.triangle-left{  position: relative;  left: 2px;  border-top-left-radius: 50%;  border-bottom-left-radius: 50%;}.triangle-left:before{  right: 2px;  border-left-width: 0;  border-right-width: 50px;  border-right-color: rgba(181, 181, 181, 1);}

剖析

從以上代碼中抽出一個triangle來剖析,就拿triangle-down來說。

一般css是不能畫斜線的,因此得另辟蹊徑。觀以上實現代碼,你會發現大量使用到border,其實這就是核心,也不復雜,一幅圖便可說明

調整三角形的大小或形狀可以通過調節不同方向的border-width的大小來達到此目的,比如說調整triangle-down的大小:

  1. 調整高度:border-top-width: 100px;;
  2. 調整寬度:border-right-width: 50px;border-left-width: 50px;

其他方向的triangle如此類推調節大小。
 

看“前言”中的triangle-down你會發現向下的角并不是尖銳的,而是有那么點“小弧度”。

這個“小弧度”實現并不難,其實也不是弧度,而是利用overflow: hidden將角“切去”一點點,放大便可發現過渡并不和諧,但由于此類三角形實際使用時尺寸會很小,因此肉眼對此不和諧并無感知,會誤以為是小圓角,上面例子即是切去了2px。

另外一個可實現比較和諧的過渡的想法是,繪制一個足夠大的圓形overflow: hidden區域,再將三角形放進去,三個角便會被切割得比較和諧,但此時三角形已經相當大,便可使用transform: scale()將它縮小。很麻煩是不是?事倍功半,我還是算了……

應用

<div class="bubble-box">  <div class="bubble-box-hat">    <i class="triangle triangle-up"></i>  </div>   <div class="bubble-box-body">i am isaac!</div></div>
.bubble-box{  font-size: 0;  margin-top: 50px;}.bubble-box-hat{  text-align: center;}.bubble-box-body{  color: #FFFFFF;  background: rgb(181, 181, 181);  font-size: 28px;  border-radius: 10px;  padding: 100px;  text-align: center;}

寫在最后

把腦子里的記憶,筆述出來也是一種整理知識的方式!(這逼裝得……),希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凭祥市| 三明市| 偃师市| 安达市| 门源| 盐池县| 尚义县| 九江市| 利辛县| 房产| 二手房| 临澧县| 长泰县| 内黄县| 怀来县| 馆陶县| 通江县| 通河县| 班玛县| 南靖县| 黄平县| 临江市| 文昌市| 石屏县| 西乡县| 甘孜| 华安县| 鄂伦春自治旗| 宽城| 句容市| 五常市| 霸州市| 五台县| 峨山| 永登县| 泰和县| 龙陵县| 马鞍山市| 云龙县| 武川县| 鹤峰县|