【问题标题】:Centering Navigation buttons for my website为我的网站居中导航按钮
【发布时间】:2018-09-14 00:40:42
【问题描述】:
    <nav>
        <ul>
            <li><a href="index.php">Home</a></li>
            <li><a href="index.php?about">About</a></li>
            <li><a href="index.php?products">Products</a></li>
            <li><a href="index.php?blog">Blog</a></li>
            <li><a href="index.php?contact">Contact</a></li>
        </ul>
    </nav>

那是里面有东西的列表。

nav ul li{
    list-style: none;
    float: left;
}

nav ul li a{
    text-decoration: none;
    display: block;
    float: left;
    padding: 5px 15px;
    color: white;
}

那些是它目前拥有的 CSS 东西,我似乎无法让它们居中。我已经环顾了大约一个小时,但我目前在这个领域的技能几乎没有任何运气。

【问题讨论】:

  • floating-left 不会使任何东西居中。继续看

标签: html css html-lists nav


【解决方案1】:

Flexbox 是让事情随心所欲的好方法。

nav ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

nav li {
  margin: 0 30px;
}

您想让&lt;li&gt; 排队并坐在中间。首先,您需要获取它们的父级(&lt;ul&gt;)并告诉它使用 Flexbox。

Flex 方向可以是行或列。您希望它们排成一排。

一旦它们排成一列,就在中心对齐它们。

&lt;li&gt; 本身的边距只是防止它们重叠。

【讨论】:

    【解决方案2】:

    使用float: css 样式直接将内容移动到其设置侧。要使元素居中,请使用 auto 设置您的边距或填充。 margin-left: auto; margin-right: auto; 将通过在其两侧具有相同数量的边距或填充来使元素在其容器内居中。

    一个更快的方法是margin: y-margins auto;第一个值是你的margin-topmargin-bottom值,第二个值是你的左和右。

    要在其容器中居中文本,例如&lt;p&gt; 标记,请使用text-align: center;

    【讨论】:

    • 好的,太好了!要在线移动所有内容,请将您的 &lt;li&gt; 标签或 &lt;a&gt; 标签样式更改为 display: inline; 如果您的 &lt;li&gt; 标签具有自动左右边距,请将其删除并保留 text-align: center;
    猜你喜欢
    • 2017-03-30
    • 2013-09-27
    • 1970-01-01
    • 2017-02-19
    • 2018-02-08
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2019-09-02
    相关资源
    最近更新 更多