2

关于如何在 HTML / CSS UL 菜单上实现一些样式的小问题。

我有一个标准的 UL 菜单,但是在如何获得某种样式的外观时遇到了一些问题。目前的 UL 菜单如下所示:

http://jsfiddle.net/WMQqt/

(HTML)

<ul id="nav">
    <li><a href="#">CONTACT US</a>
    </li>
    <li><a href="#">HOME</a>
    </li>
</ul>

(CSS)

#nav {
    list-style: none;
    margin-bottom: 10px;
    */ margin-top: -6px;
    position: relative;
    right: 286px;
    z-index: 9;
    height: 26px;
    padding: 4px 4px 4px 4px;
    font-weight: bold;
}
    #nav li {
    float: right;
    margin-right: 10px;
}

#nav a {
    display: block;
    padding: 5px;
    color: #444444;
    background: #fff;
    text-decoration: none;
    border: 1px solid grey;
}

#nav a:hover {
    color: #fff;
    background: #04B431;
}

我希望菜单按钮有一个 1px 的小边框,但是在背景颜色开始之前会有一些大约 3px 的空白填充。

类似于它的外观:

http://jsfiddle.net/6PY7z/

这可以使用 UL 菜单方法完成吗?

感谢您的任何建议,我不是 HTML / CSS 专家。

4

3 回答 3

6

添加margina标签并将边框移动到li

#nav li
{
    float: right;
    margin-right: 10px;

    border: 1px solid grey;
}

    #nav a
    {
        display: block;
        padding: 5px;
        color: #444444;
        background: #ccc;
        text-decoration: none;
        margin:3px;    
    }

演示

于 2013-03-15T11:21:20.213 回答
2

您可以使用以下样式来实现您想要的:

#nav li
{
    float: right;
    margin-right: 10px;
border: 1px solid grey; /*put original border here*/
}

#nav a
{
    display: block;
    padding: 5px;
    color: #444444;
    background: #d8d8d8; /*new background-color*/
    text-decoration: none;  
    border: 3px solid white; /*add white padding here*/
}

http://jsfiddle.net/WMQqt/4/

于 2013-03-15T11:27:41.287 回答
0

在 html 中去

<dl><div><dt>F</dt><dd>T</dd></div>
     <div><dt>F</dt><dd>T</dd></div>
     <div><dt>F</dt><dd>T</dd></div>
     <div><dt>F</dt><dd>T</dd></div>
</dl>

在 CSS 中

dl { display: flex;
flex-direction: column;}

一些提示...

dt 向左浮动和 dd 向右浮动

于 2018-12-01T22:31:45.510 回答