【104天】前端碎片知識收集00002

weixin_33766168發表於2017-04-21

Inline-Block(內聯塊)

inline-block值混合塊和內聯特性。
盒子的外部被視為內聯元素。因此,不會為元素建立新行。
框的內部被視為塊元素,並應用諸如寬度,高度和邊距的屬性。

block

li、

inline

a、

background

僅針對width和padding,不針對border、margin

浮動

1、浮動後,子元素父元素若不設定寬度,將預設設定為width:100%,即子元素的寬度等於父元素。
2、浮動後,若子元素設定寬度,父元素不設定寬度,子元素將撐開父元素。float後width示意demo

z-index

z-index需要與postion:absolute/relative/fixed/inherit配合使用。

margin

兩個magin相遇時,他們會重合,取較大者形成間距。margin重疊示意DEMO

注意:若子元素超出父元素,父元素會與父元素進行排布,不會理會其父元素的子元素。
父元素與父元素進行比較

transition

用於漸變的一個屬性
W3C文件

height:0與overflow配合的效果 VS 清除浮動時的height:0與overflow配合

overflow:hidden在清除浮動時給父元素設定可以讓父
元素從height:0變為有高度(子元素高度),但是
若父元素內部不是浮動的子元素,你這樣設定height:
0,將使子元素隱藏。

tab標籤純CSS實現

參考文章:用純css實現下拉選單的幾種方式

法1:hover+display:none大法

思路:用ul、li做導航條,然後加上偽類hover,控制display在none與block之間切換。
侷限性:滑鼠移開導航條就沒了

法2:radio+label+display:none大法

思路:用input的radio型別,關聯label,然後設定input為display:none;通過點選label來控制display與block之前切換。
侷限性:?

法3:overflow大法

思路:將下拉選單的內容部分與導航欄放在一個盒子裡面,然後將導航欄與盒子height設定為一樣,同時設定overflow:hidden;將下拉選單的內容部分隱藏起來。
此法需要注意Z-index。

法4:ul高度設為0+opacity大法

思路:同法3 只是把overflow替換成opacity。

上面的幾種方法都是不能新增過渡效果的,滑鼠滑過時下拉選單就馬上彈出來了,使用者體驗不是很>好,下面這種方法可以新增過渡的效果來實現一定時間內來彈出

法5:absolute大法

思路:將下拉選單用absolute放到瀏覽器外面看不到的地方【left:-999px;】,顯示時再拿回來【left:0;】

法6:將下拉選單字型、背景顏色改為透明

相關文章