【问题标题】:ul li navbar has links showing up as vertical, bullet-point list no matter how I style them?ul li navbar 的链接显示为垂直的项目符号列表,无论我如何设置它们?
【发布时间】:2013-06-25 14:29:02
【问题描述】:

我正在使用此代码制作响应式链接(也就是说,当查看者位于他们链接到的页面上时,将它们突出显示):

http://www.hicksdesign.co.uk/else/cssnav/

这需要用 ID 编写一个简单的 html 导航栏。

但是,出于某种原因,我创建的导航栏将链接结构化为垂直列表。我是否遗漏了一些明显的东西,或者这是浏览器方面的故障?我从所述页面获得的代码的列表是水平的,所以我很难理解为什么它会以这种方式格式化。奇怪的是,悬停时链接不会改变颜色,所以我认为 li a:hover 样式也不起作用。

这是我在 (https://dl.dropboxusercontent.com/u/33061840/site/responsivedesigntest.html) 上使用它的页面,这是链接样式的 css 部分。

#navcontainer ul {
    border: 0;
    margin: 0;
    padding: 0;
    list-style-type: none;

}

#navcontainer ul li {
    display: inline;
    float: left;
    text-align: center;
    padding: 0;
    margin: 0;
}

#navcontainer ul li a {
    border-right: none;
    padding: 0;
    margin: 0 0 10px 0;
    color: #f5d7b4;
    text-decoration: none;
    display: block;
    text-align: center;
    font: normal 10px/18px "Lucida Grande", "Lucida Sans Unicode", verdana, lucida, sans-serif;
}

#navcontainer ul li a:hover {
    color: #930;
    background: #f5d7b4;
}

【问题讨论】:

  • 已修复,但悬停和垂直列表问题仍然存在。

标签: css list hyperlink html-lists


【解决方案1】:

你的选择器错了!

#navcontainer ul 不存在。相反,您的 ul 元素上有一个 ID navlist。

这样就行了:

查看<b>NAVIGATE:</b> 是如何从ul 内部移动的,并查看下面的CSS 更改。

<div class="section group">
    <div class="col span_1_of_2">
                <b>NAVIGATE:</b>
                            <ul id="navlist"> 
                                <li><a href="home.html" id="home"</a>Home</li>
                                <li><a href="zukan.html" id="zukan">Zukan</a></li>
                                <li><a href="Stamps" id="stamps">Stamps</a></li>
                                <li><a href="Photography" id="photography">Photos</a></li>
                            </ul>
            </div>
</div>

--

#navlist {
    border: 0;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#navlist li {
    display: inline;
    float: left;
    text-align: center;
    padding: 10px;
    margin: 0;
}

#navlist li a {
    border-right: none;
    padding: 0;
    color: #f5d7b4;
    text-decoration: none;
    display: block;
    text-align: center;
    font: normal 10px/18px "Lucida Grande", "Lucida Sans Unicode", verdana, lucida, sans-serif;
}

#navlist li a:hover {
    color: #930;
    background: #f5d7b4;
}

http://jsfiddle.net/h2Xg5/1/

从教程中复制代码时要小心,请务必仔细检查您复制的内容!

【讨论】:

  • 这真的很奇怪...我将其更改为 navlist 但它不起作用,但是当我粘贴您的代码时它确实起作用了。你有没有改变其他任何基于id的东西?也许这是 Kimodo 的故障。
  • 不,这不是故障,您的 CSS 也存在问题。请查看更改的详细信息并将其与您之前的代码进行比较。我在 li 元素的所有边上添加了一个值为 10px 的 padding。
  • 仅此一项就可以将其从垂直列表更改为水平列表吗?我删除了填充,它仍然是水平的。
  • 没有填充只会将元素彼此分开。您的水平对齐问题是由于您使用了错误的选择器。您使用的 #navcontainer ul 不存在,因此您的 CSS 从未应用于您的元素,浏览器将它们呈现为常规无序列表。
  • 我想我明白了——但我的意思是我在您发布之前更改了选择器并且没有任何改变,但是当我 c/p'd 您的代码时它起作用了。我猜一定是科莫多故障。不过谢谢你的帮助。当您仍在查看此内容时,是否可以将“NAVIGATE”与链接放在同一行?当我把它放在
猜你喜欢
  • 2014-03-24
  • 2011-10-27
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 2022-01-12
相关资源
最近更新 更多