html - 显示:内联即使使用 float 也不起作用

标签 html css css-float display

我正在尝试使用 CSS 和 display: inline; 创建一个水平导航栏。但我对此并不满意。使用 <ul><li> ,我得到的是垂直列表而不是水平列表。我已经在网上搜索了 SO,但找不到解决方法。

#menu ul {
  height: 15px;
  padding: 8px 0px;
  margin: 0px;
}
#menu li {
  text-decoration: none;
  display: inline-block;
  padding: 20px;
  float: left;
}
.logo {
  font-family: 'Mr De Haviland', cursive;
  font-size: 32px;
}
.logo a {
  color: black;
  text-decoration: none;
}
#nav a {
  color: black;
  text-decoration: none;
}
#nav {
  max-width: 600px;
  width: auto;
  height: 35px;
  font-size: 16px;
  font-family: Helvetica, Geneva, sans-serif;
  text-align: center;
  text-shadow: 3px 2px 3px #666666;
  background-color: #999999;
  border-radius: 8px;
  list-style-type: none;
}
<!DOCTYPE html>
<html lang="en-gb">

<head>
  <meta charset="utf-8">
  <link href='https://fonts.googleapis.com/css?family=Mr+De+Haviland' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" type="text/css" href="index.css">
  <title>Anthony Jones</title>
</head>

<body>
  <div id="main">
    <div class="logo">
      <p align="center">
        <a class="logo" href="index.html">Anthony Jones</a>
      </p>
    </div>

    <div id="nav">
      <ul style="list-style-type: none;">
        <a href="about.html">
          <li>About</li>
        </a>
        <a href="cv.html">
          <li>Curriculum Vitae</li>
        </a>
        <a href="services.html">
          <li>Services</li>
        </a>
        <a href="random.html">
          <li>Random</li>
        </a>
        <a href="contact.html">
          <li>Contact Me</li>
        </a>
      </ul>
    </div>

  </div>
</body>

ul style="list-style-type: none;"<style>标签在那里是因为我无法删除 index.css 文件中的元素符号点,这是我能找到的唯一解决方案。

我尝试了很多代码变体,重新排列、删除并重新开始,但仍然没有任何乐趣。有什么想法吗?

最佳答案

1:您不能将a 标记包裹在li 周围。 a 标签必须在 li 内。

像这样:

<div id="nav">
<ul style="list-style-type: none;">
<li><a href="about.html">About</a></li>
<li><a href="cv.html">Curriculum Vitae</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="random.html">Random</a></li>
<li><a href="contact.html">Contact Me</a></li>
</ul>
</div>

2:设置lidisplay: inline

像这样:

#nav li {
    display: inline;
}

关于html - 显示:内联即使使用 float 也不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672093/

相关文章:

javascript - 点击键盘输入上的指定事件 : up, 下、左、右

jquery - 使用 jQuery 和 HTML 文本链接来显示/隐藏多个 DIV

css - 具有相同类的 div 的两列布局......以及两者之间的空间

java - 为什么我不能在 html 上启动我的 LibGDX 项目?

html - 将 3 个 div 列的布局更改为 2 个 div 列和下面的第 3 个

css - mixin 的 LESS 编译失败或提供错误的 css

css - 在 wordpress 主题中更改 slider 高度

html - Bootstrap 列表组溢出满容器高度

css - 清除 float 不起作用

css - Bootstrap 3 : Span elements floating right in list-group-item do not consume vertical space