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权重