每行中第一个图标的条件语句

时间:2014-05-11 19:27:18

标签: php html css conditional-statements

我想为每一行中的第一个图标创建一个条件语句,以便有一个" margin-left:0px"代码添加到它。我网站上的每个图标都有一个margin-top和margin-left为5 px的样式。但是,异常需要是每一行的第一个。

http://www.juliancelaj.com/portfolio.html

HTML

<a id="small_boardgame" class="small_hoverEffect" style="margin-left: 0px;" href="img/boardgamecover_3.jpg" rel="lightbox[best_portfolio]" title="Uno Board Game Cover" alt="Uno Board Game Cover, image, cards, throwing, machine"></a>
                        <a id="small_video_game" class="small_hoverEffect" href="img/vidgame_3.jpg" rel="lightbox[best_portfolio]" title="Video Game Cover" alt="UEFA Football 2011 Cover, Podolski, Rage360 Concept artbox, speed, emotion"></a>
                        <a id="small_cereal" class="small_hoverEffect" href="img/cerealcover_3.jpg" rel="lightbox[best_portfolio]" title="Cereal Box Cover" alt="Mario, Luigi, Cereal Box Cover, Wario, fire, strawberries, concept, mushrooms, illustration, delicious, design"></a>

CSS

#small_boardgame {
    background-image:url(img/boardgamecover.jpg);
}

#small_video_game {
    background-image:url(img/vidgame.jpg);
}

#small_cereal {
    background-image:url(img/cerealcover.jpg);
}

.small_hoverEffect {    
    width:50px;
    height:50px;
    display:block;
    background-repeat:no-repeat;
    float:left;
    margin: 5px 0 0 5px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;  
}

.small_hoverEffect:hover {
    background-position: 0 -50px;
    border-radius: 50%;
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);  
}

我已将类small_hoverEffect和悬停效果添加到页面上的每个div图标。我想知道是否有人可以使用这个div类找到一个解决方案来设置一个条件,每当一个图标首先出现在新行上时,它有一个&#34; margin-left:0px&#34;条件。设置包装器的宽度,以便每次在同一行上放置12个图标后,下一行的图标会下降。

我试着看看乔纳森的建议,

.small_hoverEffect:first-child {
    margin-left: 0px !important;    
}

但它仍然无效。每行的第一行仍然在左侧移动5px。

2 个答案:

答案 0 :(得分:0)

将您的边距放在右侧而不是左侧,这将产生您想要的效果。

答案 1 :(得分:0)

您可以从所有图标中删除margin-left并执行:

.icon + .icon /* if element left to element with class "icon" have the same class, do ... */
{
    margin-left: 30px;
}

希望我帮助