css细节盘点(作者私人仓库)

191 阅读3分钟

1、凡是带有inline的元素,都有文字特性,即都应该被分割(空格会存在)

2、上传到服务器,会压缩代码,会去空格、去回车

3、企业开发经验: 先定义功能,后组合样式写法。

4、自定义标签(初始化标签)

eg: em{ font-style:normal; color:#c00 } a{ text-decoration:none; }

5、* 初始化所有标签(权重为0;如果另有选择器,不会产生被影响的错误)

eg: *{ padding:0; margin:0 }

6、盒模型的计算

计算不加margin

7、absolute : 不保留原来位置定位(脱离文档流) 相对于最近的有定位的定位;如果没有,则相对于文档定位

8、relative:保留原来位置,相对于原来的位置进行定位

9、定律:用relative当参考物,用absolute进行定位

10、fixed:相对于视窗

居中的固定写法:{ positon:fixed; left:50%; top:50% margin-left:-50px; margin-top:-50px; width:100px; height:100px }

11、z-index: 正:向你延伸; 负:向里延伸

12、分组选择器(就是简化代码)

eg:.a,

.b,

.c{ ... }

13、两栏布局 绝对定位,再margin一边

注意两个bug: 1、必须先写定位的,否则先写的另一个div会占据位置,导致出现在本该出现的位置的下方 2、margin塌陷 当子的margin-top小于父时,无效; 但>时,又带着父一起移动。

针对第2个bug,暴力的解决办法是给子加一个border-top 好的解决办法是利用bfc

14、bfc 块级格式化上下文 触发条件: position:absolute; float不为none; overflow不为visible; display为inline-block;inline;

15、 两个问题:1、margin塌陷,看上述

                           2、margin合并:————解决方法:往往通过数学计算,直接在上层设置两块之间的间隔,也可以说不解决mrgin合并问题,避免html结构变化。

16、浮动流

浮动元素产生浮动流,对后面元素产生的影响。

块级元素看不到浮动元素,也因此无法被撑开; 暴力解决办法是 加一个清除浮动流

{ clear:both }

从而出现在该出现的位置

17、更好的解决办法是:

伪元素:可以当元素来操作,但没有元素结构;

伪元素天生是行级元素,要添加长、宽、高,必须改成块级或行快;

要使得clear生效,设置clear的元素也必须是块级元素。

18、也可以用能看见浮动流的元素来解决

19、文字环绕图片:

设置图片float即可;

20、float 横过来

21、line-height=height,字体在正中间

22、#424242 标准的黑色

font-familty:aral 标准字体

23、a标签,行元素

24、一般用完浮动流后都要清除浮动流,避免对后面元素产生影响

25、csr 客户端渲染

ssr 服务端渲染

26、serverless
应用的核心:逻辑与存储 函数即服务 faas 后端即服务:bass

27、多行打点(直接写,因为技术上实现较难)

28、多行一般做截断 overflow:hidden

29、图片文本策略

1、text-indent:(width) 2、利用padding上可以加背景(颜色、图片)

 height:0px;
 padding-top:90px;
 over-flow:hidden;

(padding中不可以加内容)

30、p不能套块,a不能套a

31、margin:0 auto;

32、float 、 postion:absolte'

一旦设置,元素就会设置成:inline-block

33、外文本会与文本类元素 底对齐

 但当行快级元素或文本元素包含文本时,外文本与文本底对齐
 可通过vertical-align调节。

34、linear-gradient(to