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

首頁 > 開發 > CSS > 正文

如何使用css繪制鉆石的方法

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

聽說你想要鉆石:gem:?買不起,還是用css來畫一個吧,但你敢送給自己女朋友,不保證不被打。

下午兩點要相親,要不把這個送相親對象?

效果

先看下效果吧,想一想怎么構圖先。

上圖是已經完成的效果。鉆石整體都是由三角形構成,上五下三。上邊是五個等邊三角形,其中有2個是倒扣過來填補三個之間的空缺。下邊是一個等腰三角形和2個對稱的鈍角三角形,差不多就是這樣。(鈍角三角形不是太好理解,至少我沒成功,這里的鈍角三角形是用等腰三角形通過 transform: skew() 實現的)

知識點

這個demo中涉及到了css3 的 transform , css 畫三角形 以及 如何給css畫出的三角形加邊框 ,三角形的邊框構成了鉆石的棱角(白色的線條),預處理語言使用的是 less 。

三角形的邊框:我們知道,三角形本來就是用 border 畫的,給三角形加邊框相當于給 borderborder ,這個做法肯定行不通。我是這樣做的:畫2個三角形,一個大的一個小的,小的比大的小 1px ,然后小的蓋在大的上面,這樣大三角形就只漏出 1px ,視覺效果就是成為了內部小三角形的邊框線了。參考博文

開始

dom準備

<div id="diamond">  <div class="t">     <div class="common top"></div>     <div class="common top"></div>     <div class="common top"></div>     <div class="common top"></div>     <div class="common top"></div>  </div> <div class="b">    <div class="common bottom bottom1"></div>    <div class="common bottom bottom2"></div>    <div class="common bottom bottom3"></div> </div></div>

三角形的個數是上五下三。 請忽略命名,please

樣式

鉆石上部分

先把 common 的樣式定義出來

#diamond {  margin: 100px;  .t { //直接定義了高度免去了清除浮動    height:30px;  }  .common { // 公共樣式    position:relative;    float:left;    width:0;    height:0;    border-style:solid; // 元素本身做大三角形,襯底成為小三角形的邊框    &:after { // 偽元素定義小三角形      content: '';      position:absolute;      border-style:solid;    }  }  div.top { // 鉆石頂部的5個三角形特定樣式    border-width:0 30px 30px; // 三角形大小    border-color:transparent transparent #fff; // 三角形顏色    &:after { // 小三角形      top:1px; // 移動三角形使之蓋在底部的大的三角形      left:-28px;      border-width:0 28px 28px; // 小三角形的大小定義      border-color:transparent transparent red;    }    &:nth-child(2n) { // 第二個第四個三角形倒立。      transform:rotate(180deg);    }    &:nth-child(n+2) { // 從第二個開始都向左移動30px      margin-left: -30px;    }  }}

在樣式中都做了注釋,不再贅述 , 我會說我趕時間去相親? 到這呢效果只有鉆石上面的部分。如下圖:

 

鉆石下部分

// 上部分的樣式省略了 div.bottom {    border-width:90px 30px 0 30px; // 高度適當的高點,這里給了90px    border-color:#fff transparent transparent; // 三角形向下,底色白色    &:after { // 同上,做出內部紅色的小三角形,尺寸稍小,漏出白色的“邊框線”      border-width:88px 28px 0 28px;      border-color:#f00 transparent transparent;      top:-89px;      left:-28px;    }    /*     *   到這應該是三個等腰三角形     *   第一個第三個三角形應該要是鈍角三角形的。     *   所以要進行一下傾斜操作     */         &.bottom1 { // 底部第一個三角形傾斜轉換      transform: skew(33.5deg);      transform-origin: 100% 0;    }    &.bottom3 { // 底部第三個三角形傾斜轉換,與第一個對稱       transform: skew(-33.5deg);       transform-origin: 100% 0;    }  }  // 數學不好,這個角度是我試了幾次試出來的,數學好的可以算下呢,啊哈哈哈

注釋里都寫了。 不贅述不贅述,別問為什么。

差不多就是這樣了,上一下效果。

我會說這就是一開始的效果圖? 總覺得差點什么,duangduang 加一下特效

buling buling的效果,啊哈哈哈哈哈哈。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平原县| 甘洛县| 大兴区| 瑞金市| 福泉市| 突泉县| 平度市| 闽清县| 庆元县| 无锡市| 子洲县| 砚山县| 怀化市| 罗平县| 兰溪市| 城口县| 邵武市| 永济市| 阳江市| 永平县| 大荔县| 阿鲁科尔沁旗| 建昌县| 双牌县| 定远县| 静海县| 故城县| 上栗县| 托克托县| 滦平县| 敦煌市| 贵德县| 阿坝县| 阿拉善左旗| 庐江县| 盈江县| 葵青区| 木兰县| 都昌县| 宝兴县| 射洪县|