【发布时间】:2015-04-10 05:45:02
【问题描述】:
我来找你们,因为我听说不是使用 javascript 来选择每 2 个元素,而是可以使用 nth-child css3 选择器...
我尝试使用它,但它没有按我预期的方式工作......而且它没有工作对我来说毫无意义......
这是我使用 nth-child(odd) 时得到的结果:
第一个元素运行良好……边距运行良好。 但不是第三个元素有边距,而是第四个有边距......我真的不明白为什么会这样......
一些代码:
<section id="portfolio">
<ul>
<li class="single-portfolio" style="background-image: url(http://localhost/robeenNew/wp-content/uploads/2015/04/547404026266152.jpg);">
<div id="portfolio-details"><img id="portfolio-logo" src="http://localhost/robeenNew/wp-content/uploads/2015/04/logo-v2-slogan.png"></div>
</li>
<li class="single-portfolio" style="background-image: url(http://localhost/robeenNew/wp-content/uploads/2015/04/a_Hamburger-Bun-with-HamburgerS_3.jpg);">
<div id="portfolio-details"><img id="portfolio-logo" src=""></div>
</li>
<li style="list-style: none; display: inline">
<div id="portfolio-selected"></div>
</li>
<li class="single-portfolio" style="background-image: url(http://localhost/robeenNew/wp-content/uploads/2015/04/24346_l.jpg);">
<div id="portfolio-details"><img id="portfolio-logo" src=""></div>
</li>
<li class="single-portfolio" style="background-image: url(http://localhost/robeenNew/wp-content/uploads/2015/03/unnamed-1.jpg);">
<div id="portfolio-details"><img id="portfolio-logo" src=""></div>
</li>
<li style="list-style: none; display: inline">
<div id="portfolio-selected"></div>
</li>
<li class="single-portfolio" style="background-image: url(http://localhost/robeenNew/wp-content/uploads/2015/03/maximoto.png);">
<div id="portfolio-details"><img id="portfolio-logo" src="http://localhost/robeenNew/wp-content/uploads/2015/03/maxi1.png"></div>
</li>
<li style="list-style: none; display: inline">
<div id="portfolio-selected"></div>
</li>
</ul>
</section>
和 CSS :
#portfolio {
width:100%;
margin:40px 0 0
}
#portfolio ul {
list-style:none
}
#portfolio ul li {
display:inline-block;
height:300px;
width:470px;
background-size:100% 100%;
-webkit-filter:grayscale(100%);
filter:grayscale(100%);
transition:all .2s linear
}
.single-portfolio:nth-child(odd) {
margin-right:26px
}
#portfolio ul li:hover {
cursor:pointer;
-webkit-filter:grayscale(0%);
filter:grayscale(0%)
}
#portfolio-details {
background:rgba(150,150,150,0.7);
width:100%;
height:100%;
transition:all .2s linear;
vertical-align:middle;
text-align:center;
position:relative
}
#portfolio-details img {
transition:all .2s linear;
margin:0 auto;
display:inline-block;
text-align:center;
vertical-align:middle;
position:absolute;
top:50%;
left:50%;
-webkit-transform:translate(-50%,-50%);
transform:translate(-50%,-50%);
max-width:300px
}
#portfolio-details:hover {
background:rgba(26,188,156,0);
width:100%;
height:100%
}
#portfolio-details:hover img {
opacity:0
}
如果你们能帮助我并解释我出了什么问题...那就太棒了!
提前致谢
【问题讨论】:
-
由于内联元素不尊重边距,因此您的图像看起来像我期望的那样。
-
为什么要让 li 显示为内联而不是内联块?
-
它应该是 display:list-item,如果你不想要子弹的话,应该是 list-style:none
-
li 是 inline-block... 有什么问题?
标签: javascript html css css-selectors