html - CSS 选择器 : (menu ul li) or (menu li)

标签 html css

哪个更好用

.menu{
    float:left;
    width:600px;
    height:25px;
    background:url(bg.png) repeat-x;

}
.menu ul{
    float:left;
}
.menu ul li{
    float:left;
    width:150px;
    height:25px;
    background:#F00;
}

.menu{
    float:left;
    width:600px;
    height:25px;
    background:url(bg.png) repeat-x;

}
.menu ul{
    float:left;
}
.menu li{
    float:left;
    width:150px;
    height:25px;
    background:#F00;
}

menu ul limenu li 哪个标签正确?

最佳答案

当你说 which tag is right menu ul li or menu li? , 你是在谈论带有 class="menu" 的 div或者你在谈论 deprecated menu tag ( <menu> )?

如果您只是在谈论您的 css 代码,那么这些不是标签,而是选择器。为了避免意外分配,我会选择最具体的选择器

.menu > ul > li{
    // this matches only list items directly inside a ul directly inside a .menu
}

更好的是:

#menu > ul > li{
    // now you are referencing the menu by id, so you know this is a unique assignment
}

或者,如果您有多个菜单:

#menubar > .menu > ul > li{
}

因为否则你会感到惊讶,你实际上可能有这样的结构: (这很丑,我知道,但只是为了证明一点)

<div class="menu">
    <ul>
        <li>Menu Item 1</li>
        <li>Menu Item 2</li>
        <li>Menu Item 3
        <ul>
            <li id="abc">Menu Item abc</li>
        </ul>
        </li>
        <li>Menu Item 4
        <div><div><div><ol><li><div><ul>
                <li id="xyz">Menu Item xyz</li>
        </ul></div></li></ol></div></div></div>
        </li>
    </ul>
</div>

(您可能不想匹配元素 abc 或 xyz)。

关于html - CSS 选择器 : (menu ul li) or (menu li),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3132541/

相关文章:

javascript - 为什么我的边栏在缩小时消失了?

css - 正文中未显示内容背景图片

css - 将 UL 元素拆分为负责的列

Javascript 切换数组按钮

javascript - 如何在 HTML 或 JavaScript 中输出变量值?

jQuery:获取样式属性并将其附加到新的 <div>

jquery - Bootstrap 在我的手机上不起作用

html - 如何在 CSS 中从子项中选择 DOM 父项

html - 如何在表格中分组 <TR> 以进行分页?

html - 如何独立于字体系列和字体大小使文本在中间垂直对齐?