使列表项独立于彼此的样式

时间:2016-03-12 23:24:36

标签: html css html-lists

我有一个带有几个列表项的ul,由h3s和lis组成,类ID为“close”。

我有一个悬停样式,可以扩展h3s上的字母间距,问题是,close类的项目也会扩展。在添加类之前我尝试了一些不同的东西,比如第n个孩子等(所有这些都在代码中可见)。当h3扩展时,我希望关闭的lis保持相同的大小。

感谢任何帮助。

这里的jsfiddle: https://jsfiddle.net/snowwhyte/7eLmarnp/7/#&togetherjs=Uq5j49dUG0

CSS:

a {text-decoration:none;
}
li {list-style:none;
}
}
#openClose {
    position:absolute;
    top:200px;
    margin-top:55px;
}

#openClose li{
    list-style-type:none;
    display:block;
    padding-right:-50px;
}

#openClose li:nth-child(2n+2){
    margin:30px 0 100px 0;
    background-color:#000;
    border:2px #fff solid;
    text-align:center;
    letter-spacing:1rem;
    padding:10px 0 10px 0;
}
#openClose li:nth-child(2n+2):hover{
letter-spacing:-0.1rem; 
transition:.3s;
}

#openClose li a h3{
font-family:Helvetica, Gotham, Helvetica, Arial, sans-serif;
color:#73a6c2;
}

.close{
}

#openClose li a h3:hover{color:#fff;
text-shadow:2px 1px 2px #000;
transition:.2s;
letter-spacing:1rem;
}

a:visited { text-decoration: none; color:#B8CEDB; }
a:hover { text-decoration: none; color:#D7D8D8; }
a:focus { text-decoration: none; color:#fff; 

}

HTML:

<section id="openClose">
<ul>
<li><a href="#wrapper"><h3>Tool Descriptions</h3></a></li>
<li class="close"><a href="#">Close</a></li>
<li><a href="#wrapper2"><h3>Key tools</h3></a></li>
<li class="close"><a href="#">Close</a></li>
<li><a href="#wrapper3"><h3>Adjustment Layers & <br>
Blending modes</h3></a></li>
<li class="close"><a href="#">Close</a></li>
</ul></section>

2 个答案:

答案 0 :(得分:0)

问题是你没有任何具有定义宽度的元素,所以每个元素都有最大元素的宽度。

为了实现您想要实现的目标,您可以根据自己的需求提供大量解决方案。

您可以在其中一个父项上定义修正宽度,例如ul,并将white-space: nowrap属性添加到h3(请参阅the fiddle):

ul {
    width: 200px;
}
#openClose li a h3{
    white-space: nowrap;
}

您还可以使用关闭按钮设置固定宽度(请参阅the fiddle):

#openClose li:nth-child(2n+2){
   width: 200px;
}

答案 1 :(得分:0)

这是我的尝试。就像你看到我改变了一些你的代码加入了一些东西并清理了一点,但重点在于width的{​​{1}}属性

https://jsfiddle.net/7eLmarnp/12/