查漏补缺--Css一些基础(一)

  目前来说,我所学的一些css知识并不是 专门从一个专门的css教程中学来的,而是经过各种项目实际开发中折腾学会的。不遇到些特殊情况还好,可以轻松随便写个搞定,也不用管规范不规范,实在不行不是还有! important不是。

  后来遇到一些情况,费老大劲搞不定,然后问一个专门写前端的,原来只是个简单的权值问题(当然了此处并没有用上important)。

  现在想来,所谓几年实战没有基础都是纸老虎,所以最近想好好把css基础学一下,顺便记录下学习的心得。

  今天主要看了层叠和继承、选择器,补缺如下:

1.控制继承的几个值 inherit、initial、unset。

  • inherit 有些属性的值是可以自然继承的,设置为inherit则为开启继承父值,但是不是所有的都能继承的。
  • initial 如果浏览器有默认值,则回复该属性值与浏览器默认值相同。如果浏览器对该属性没有默认值,此属性又是能自然继承的属性,那initial效果和inherit相同。
  • unset 如果该属性是能自然继承的属性,则继承父属性值,否者和initial一样

其中inherit很好理解,但是initial和unset初次看有点乱,就算打开例子我也是反应了好久才明白,

initial先是看浏览器有没有值,如果浏览器没有值那就是再看能不能继承,能继承就继承;

unset 是先能继承先继承,不能继承再和initial一样;

2.选择器权重计算

  1. 内联样式、权值1000
  2. id选择器、权值100
  3. 类选择器、伪类选择器、属性选择器、都是10
  4. 元素、伪元素选择器为1

相同权值,顺序在后的覆盖前面的同一属性设置。

当然了在最牛逼的important前,所有规则都没用,important会顶掉所有设置,当然了,这个是不推荐用的。我认为呢有时是可以用用的,比如我写个

1 .hd {
2   display:none !important;
3 }

我给某个元素加上这个属性,自然是希望就是隐藏该元素,权值只有10,很容易被顶了,加个important可以解决问题。另外有人会说我希望在某些情况下隐藏 某些情况下不隐藏,这样写就出问题了,那我就要说了,如果出现这样情况就不要用hd这个class了,用其他方式来解决好了呀。

初学乍练,若有不正确误导他人的欢迎指正~

 

posted @ 2020-03-11 21:52  小P扯扯  阅读(101)  评论(0)    收藏  举报