css中的权重计算,手风琴样式时遇到的问题

问题描述,想从图1写成图2的效果:


图1


图2

HTML的布局:

<div class="pic">
    <ul>
        <li class="pic1">
            <a href="javscript:;">   <!--空链接用来跳转,但是不需要跳转-->
                <div class="txt">
                    <p class="p1">作者 :潘安</p>
                    <p class="p2">文艺风的生活</p>
                </div>
            </a>
        </li>
       
        <li class="pic4">
            <a href="javscript:;">   <!--空链接-->
                <div class="txt">
                    <p class="p1">作者 :妮妮</p>
                    <p class="p2">这是一个风景</p>
                </div>
            </a>
        </li>
    </ul>
</div>
css中的样式:

.pic ul li{
    float: left;
    width: 100px;
    height:375px;

}
.pic ul .pic4{
    background-image: url("../layer/4.jpg");
    width: 600px;             /*.pic ul li的权重比.pic4高,所以Pic4设置的不起作用,
                                     权重是加和比较的,内联:1000
                                                       id:100
                                                       class:10
                                                       标签:1
                                     所以这里设置
                                     .pic ul .pic4   权重是21
                                     .pic ul li      权重是10+1+1=12
                                     
}


分析:

因为灰色div(文字)宽度为100px,所以把li的样式设置为100px,则四个div默认都是100px,是图1的效果,

现在想让第四张图完全显示,所以直接写了

.pic4{********}

没有效果,想到这是权重惹的货!

====================================================================================================================================

关于权重的知识补充:

CSS权重是由四个数值决定:


图里是英文的,翻译一下,4个等级的定义如下:

第一等:代表内联样式,如: style=””,权值为1000。

第二等:代表ID选择器,如:#content,权值为100。

第三等:代表类,伪类和属性选择器,如.content,权值为10。

第四等:代表类型选择器和伪元素选择器,如div p,权值为1。

最后把这些值加起来,再就是当前元素的权重了。

权重算出来了,但是某个元素到底用哪个样式,还有3个规则,:

1,如果样式上加有!important标记,例如:

1
p{  color gray  !important }

那么始终采用这个标记的样式。

2,匹配的内容按照CSS权重排序,权重大的优先;

可以看到,CSS权重只是决定应用哪个样式的其中一个步骤,不过这个步骤是最复杂的,上面已经说过了。

3,如果权重也一样,按照它在CSS样式表里声明的顺序,后声明的优先,例如:

1
2
h 1  { color blue }
h 1  { color red }

最终胜出的是color: red。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值