如何在CSS中单独定位此HTML代码?

时间:2013-08-27 08:32:19

标签: php html css css-selectors

我有两组需要互相内联的文本,但目前一个文本的位置高于另一个。这两组文本共享相同的CSS代码,因此当我编辑它时,两者都会受到影响。但是,我想只针对其中一个文本;有没有办法做到这一点?

这是HTML和CSS:

<div id="mi-slider" class="mi-slider">
<?

$result = $mysqli->query("SELECT * FROM stock");
while($obj = $result->fetch_object())
{
    if($obj->id&1)
    echo "<ul>";

?>
<li class="<?=$obj->orientation=='landscape'?'landscape':'portrait'?>" id="list">
    <a href="#"><img src="./img/<?=$obj->description=='unframed'?$obj->poster_no:$obj->poster_no.'_frame'?>.jpg" alt=""></a>
    <h4><?= $obj->description=="unframed"?"Unframed Poster - 750mm x 500mm":"Framed Poster - 790mm x 540mm"?><br />&pound;<?=$obj->price?> each</h4>
</li>

CSS代码:

.mi-slider ul li h4 {
display: inline-block;
font-family: HelveticaNeueRegular;
font-weight: 100;
font-size: 12px;
color: #a34235;
padding: 0 0 0;
text-align: left;
margin-top: 20px;
margin-left: 10px;
float: left;
}

3 个答案:

答案 0 :(得分:2)

您可以为每个特殊元素使用唯一ID,然后通过&#39;#&#39;指定您的CSS选择器。

如果需要将特殊CSS应用于第一个元素, 考虑使用&#39;:first-child&#39;选择。它更干净。 但是,如果你想要定位第二个元素(或更晚一些),请考虑第二个元素&#39;选择器不支持旧版浏览器(如IE8)

答案 1 :(得分:1)

如果要定位第二个列表项H4,可以使用第n个子选择器,如下所示:

.mi-slider ul li:nth-child(2) h4
{ your css }

答案 2 :(得分:0)

使用此:

li:first-child h4
{
    your custum css
}

这样,CSS规则仅适用于第一个h4的{​​{1}}标记,而不是全部li

相关问题