flex-grow 屬性決定了父元素在空間分配方向上還有剩餘空間時,如何分配這些剩餘空間。css
flex-shrink 能夠在空間不夠時讓各個子元素收縮以適應有限的空間html
vertical-align的百分比值是相對於line-height計算的。ios
{ line-height: 30px; /*vertical-align: -10% */ vertical-align: -3px; }
margin和padding的百分比值是相對於父元素的width計算的。web
.parent{width:100px} .child{ margin-bottom:10%;/*10px*/ padding-bottom:10%; }
在HTML5文檔聲明下,塊狀元素內部的內聯元素的行爲表現,就好像塊狀元素內部還有一個(更有可能兩個-先後)看不見摸不着沒有寬度沒有實體的空白節點,這個假想又彷佛存在的空白節點,稱之爲「幽靈空白節點」。瀏覽器
<div style="background-color:#e5edff;"><img src="mm1.jpg"></div>
緣由:vertical-align默認值是baseline,致使下方留空
解決方案:app
img { display: block; }
bottom/middle/top
div { line-height: 5px; }
div { font-size: 0; }
.dib-baseline { display: inline-block; width: 150px; height: 150px; border: 1px solid #cad5eb; background-color: #f0f3f9; }
<span class="dib-baseline"></span> <span class="dib-baseline">x-baseline</span>
緣由:一個inline-block元素,若是裏面沒有inline內聯元素,或者overflow不是visible,則該元素的基線就是其margin底邊緣,不然,其基線就是元素裏面最後一行內聯元素的基線。
解決方案:ide
font-size:0
bottom/middle/top
scroll-snap-type:x mandatory
scroll-snap-align:center
scroll-behavior:smooth
-webkit-overflow-scrolling:auto
使用普通滾動, 當手指從觸摸屏上移開,滾動會當即中止。-webkit-overflow-scrolling:touch
使用具備回彈效果的滾動, 當手指從觸摸屏上移開,內容會繼續保持一段時間的滾動效果。繼續滾動的速度和持續的時間和滾動手勢的強烈程度成正比。同時也會建立一個新的堆棧上下文。wordpress
bug:佈局
-webkit-overflow-scrolling:touch
@keyframes var { 33% { --someVar: 33%; } 66% { --someVar: 66%; } }
.bar::before { counter-reset: progress var(--percent); content: counter(progress); }
/* 無效 */ .bar::before { content: var(--percent); }
/* 計數器名稱是'small-apple', 而且默認起始值是2 */ .xxx { counter-reset: small-apple 2; }
/*多個計數器同時命名*/ .xxx { counter-reset: wangxiaoer 2 wangxiaosan 3; }
.counter { counter-reset: wangxiaoer 2; counter-increment: wangxiaoer; } .counter:before { content: counter(wangxiaoer); }
content: counter(wangxiaoer, lower-roman); /* 以小寫羅馬數字格式表示當前計數器wangxiaoer的值 */
{ counter-reset: progress var(--percent); content: counter(progress) '%\2002'; width: calc(1% * var(--percent)); }
計數器的數值變化遵循HTML渲染順序,遇到一個increment計數器就變化,何時counter輸出就輸出此時的計數值。學習
display的屬性值是none或者含有hidden屬性(針對支持瀏覽器),則此計數值是不會增長的。而visibility:hidden以及其餘聲明不會有此現象。
權重等級
一、行內樣式style
二、ID選擇器
三、類,屬性選擇器和僞類選擇器
四、元素和僞元素
規則:相同的權重:後出現的選擇器生效;不一樣的權重,權重值高則生效
01. *{} ====》0 02. li{} ====》1(一個元素) 03. li:first-line{} ====》2(一個元素,一個僞元素) 04. ul li {} ====》2(兩個元素) 05. ul ol+li{} ====》3(三個元素) 06. h1+ *[rel=up] {} ====》11(一個屬性選擇器,一個元素) 07. ul ol li.red{} ====》13(一個類,三個元素) 08. li.red.level{} ====》21(兩個類,一個元素) 09. style="" ====》1000(一個行內樣式) 10. p {} ====》1(一個元素) 11. div p {} ====》2(兩個元素) 12. .sith {} ====》10(一個類) 13. div p.sith{} ====》12(一個類,兩個元素) 14. #sith{} ====》100(一個ID選擇器) 15. body #darkside .sith p {} ====》112(1+100+10+1,一個Id選擇器,一個類,兩個元素)
BFC知足條件:
摺疊margin觸發條件:
這些margin在垂直方向上是毗鄰的,包括如下幾種狀況:
BFC做用
詳解 flex-grow 與 flex-shrink
css學習專題-BFC
深刻研究-webkit-overflow-scrolling:touch及ios滾動
CSS深刻理解vertical-align和line-height的基友關係
CSS counter計數器(content目錄序號自動遞增)詳解
殺了個回馬槍,仍是說說position:sticky吧
你應該知道的一些事情——CSS權重