CSS样式简单总结

来源:互联网 发布:淘宝二级页面怎么做 编辑:程序博客网 时间:2024/05/21 09:07

感谢这篇文章,参考http://www.cnblogs.com/xugang/archive/2010/09/24/1833760.html


之前对CSS的样式的优先级不太清楚,只知道

1、(外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style

现在了解到CSS的优先级分为


2、选择器的优先权

 

jc6_002


CSS 优先级法则:

A  选择器都有一个权值,权值越大越优先;

B  当权值相等时,后出现的样式表设置要优于先出现的样式表设置;

C  创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;

D  继承的CSS 样式不如后来指定的CSS 样式;

E  在同一组属性设置中标有!important”规则的优先级最大;



      今天调试页面样式的时候发现图片一直,居中不了,查看了CSS样式才发现问题。

     



Demo如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style type="text/css">
.div1 {
    float: left;
    width: 100%;
}

.div1 p {
    color: #000;
    float: left;
    font-size: 14px;
    text-align: left;
    width: 100%;
}


.div1 img {
    max-width: 1100px;
    padding: 10px;
}

div p{
    text-align: center;
}
    
</style>
<body>
<div class='div1'>
    <p>
        <img src="./demo.png">
    </p>
</div>
</body>
</html>

可以看到div p虽然定义在.div1 p后面,但是并没有把.div1 p的样式进行了覆盖,是因为div p的优先级要低于.div1 p

所以造成了。img图片显示还是居左的。如图



这时可以在<p>加上 align='center'属性,发现图片并没有居中显示。

又尝试了下在 p上直接定义内联样式,style="text-align:center;" 这下起到作用了图片居中了。

个人感觉标签上的属性,会被CSS样式覆盖掉。


选择器可以参考http://www.w3school.com.cn/cssref/selector_attribute_value.asp


另外注意遇到 .class element 时,这里选中的元素为,使用.class样式下,标签为element的所有子孙。

比如

<div class='div1'>

         <p></p>

         <p></p>

</div>

.div1 p选中所有的p标签,另外.div>p不会只取第一个p,效果与.div p 一样的。


element  .class

举例

<div>

    <div class="div1">xxxx </div>

     <p></p>

      <div>xxxxx</div>

</div>

div .div1 选中的是第一个div。


若有错误,请大家帮纠正啊!

1 0