em,px,都为长度单位,CSS直接设置就可以。
%不是一个长度单位,比如2%就是一个完整的值,是一个整体,比如0.02是一个值,没错,2%也同样是值(出处:《css世界》)
注:有一个特殊情况需要注意,如果,p为span的父元素(如下情况)
css里设置为
p{font-size:14px}
span{font-size:0.8em}
自然就会继承父元素,然后再进行子元素的独特性,即(14*0.8=11.2px)以父元素的px为单位。
简写:当值为0px时,可以简写为0。(如下图所示)
颜色设置有 三种方法
第一种就是直接用英文名字(p{color:red})第二种就是根据R(red)G(green)B(blue)颜色的比例来配色,每一项地值在0-255之间,也可以用百分比(p{color:rgb(133,45,200)})第三种就是常用的,原理也是rgb设置,但是将255变成了十六进制(p{color:#336699})
补充:background-color属性接受任意合法的CSS颜色值,如预定义颜色名、十六进制数值、RGB值、RGB百分比、RGBA值、HSL值、HSLA值(这些都是颜色设置的)
tips:1.十六进制的如果每两个之间数字相同可以简写成一个,如上面的p{color:#336699}为p{color:#369}
2.RGB和我当时学的美术的三原色相类似,美术三原色为红黄蓝。(三间色可以直接用三原色调出,红黄为橙,红蓝为紫,黄蓝为绿)
之前一直分不太清楚,今天试了一下,然后懂了。(如下图)
margin为边界,又可以叫做外边框;padding为内边框,也为“填充”。
流动模型为网页的默认模型,流动模型的块元素是自上而下,行元素是从左到右显示。
模型移动(以层模型中的元素为例)
向右移动和向下移动不是我想的right:XXbottom:XX
而是距离左边XX,距离上面XX,距离原来的0,动了XX那么多,自然就是向那里移动了XX。(默认位置为左上角)
另外,层模型使得元素块移动后,它移动前的仍然保留。
一般我们的复选框长成下面这样,现在要求你切深色模式的时候,更改复选框选中的强调色为粉色。
审查元素,你发现 Checkbox 是原生 HTML 标签写的,这个时候你挠挠头,想了想 CSS 好像没有更改强调色的属性,没办法,只能自己来自定义了,但是重新自己写问题很大,从头开始构建它最终会比预期的工作多得多,即使用第三方框架也不是最理想的解决方案,浏览器万一更新新增效果就扯犊子了。
最好的解决方案还是利用 CSS 属性来解决。这就是我们的主角:
接下来给出实现的源码:
问题来了,这么好用的 CSS 属性,难道就只支持复选框吗?那肯定不成本着好东西多用,它支持四个元素: checkbox 、 radio 、 range 和 progress 。每个都可以在此处以浅色和深色配色方案预览 https://accent-color.glitch.me 。
通过 https://caniuse.com/?search=accent-color 查询 accent-color 的兼容性很一般,但是你要知道,即使是不支持的浏览器,你写了 CSS 语法是不会报错的,所以作为增强使用完全没问题。