列表内的CSS列表未水平对齐?

时间:2019-03-19 06:36:40

标签: html css html5 css3

我正在制作一个水平菜单,四个部分应该相邻,香肠卷,炸薯条,鸡翅,菠菜风车和大蒜面包应垂直,但水平应在下一个列表的旁边。我检查了警报提示的与该问题相似或相同的每个问题,但是没有一个问题有帮助,也许我的HTML出现问题了?

<form method="post" action="menu.php">
  <ul>
    <li>
      <ul class="menus">
        <li>Sausage Rolls</li>
        <li>Fries</li>
        <li>Wings</li>
        <li>Spinach Pinwheels</li>
        <li>Garlci Bread</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Instant Pot Chicken</li>
        <li>Salmon Pattles</li>
        <li>Callco Cabbage</li>
        <li>Bacon Wrappend Jalapeno</li>
        <li>Potato Mash</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Edible Cookie Dough</li>
        <li>Ice Cream Sandwich</li>
        <li>Cheesecake</li>
        <li>Chocolate Cake</li>
        <li>Brownies</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Wine</li>
        <li>Beer</li>
        <li>Water</li>
        <li>Juice</li>
        <li>Coffee</li>
      </ul>
    </li>
  </ul>
  <input type="submit" name="order" value="Order">
</form>

4 个答案:

答案 0 :(得分:4)

使用css flex-box属性,在这里我向您的父display:flex标签添加了ul

工作正常。

ul,li{
  list-style:none;
  padding : 0px;
 }
form>ul{
   display:flex;
  }
<form method="post" action="menu.php">
  <ul>
    <li>
      <ul class="menus">
        <li>Sausage Rolls</li>
        <li>Fries</li>
        <li>Wings</li>
        <li>Spinach Pinwheels</li>
        <li>Garlci Bread</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Instant Pot Chicken</li>
        <li>Salmon Pattles</li>
        <li>Callco Cabbage</li>
        <li>Bacon Wrappend Jalapeno</li>
        <li>Potato Mash</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Edible Cookie Dough</li>
        <li>Ice Cream Sandwich</li>
        <li>Cheesecake</li>
        <li>Chocolate Cake</li>
        <li>Brownies</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Wine</li>
        <li>Beer</li>
        <li>Water</li>
        <li>Juice</li>
        <li>Coffee</li>
      </ul>
    </li>
  </ul>
  <input type="submit" name="order" value="Order">
</form>

答案 1 :(得分:0)

不使用display: flex;的解决方案:

<style>
  li.lists {
    float: left;
  }
  
  form ul.clearfix::after {
    clear: both;
    content: '';
    display: block;
  }
</style>

<form method="post" action="menu.php">
  <ul class="clearfix">
    <li class="lists">
      <ul class="menus">
        <li>Sausage Rolls</li>
        <li>Fries</li>
        <li>Wings</li>
        <li>Spinach Pinwheels</li>
        <li>Garlci Bread</li>
      </ul>
    </li>
    <li class="lists">
      <ul class="menus">
        <li>Instant Pot Chicken</li>
        <li>Salmon Pattles</li>
        <li>Callco Cabbage</li>
        <li>Bacon Wrappend Jalapeno</li>
        <li>Potato Mash</li>
      </ul>
    </li>
    <li class="lists">
      <ul class="menus">
        <li>Edible Cookie Dough</li>
        <li>Ice Cream Sandwich</li>
        <li>Cheesecake</li>
        <li>Chocolate Cake</li>
        <li>Brownies</li>
      </ul>
    </li>
    <li class="lists">
      <ul class="menus">
        <li>Wine</li>
        <li>Beer</li>
        <li>Water</li>
        <li>Juice</li>
        <li>Coffee</li>
      </ul>
    </li>
  </ul>
  <input type="submit" name="order" value="Order">
</form>

答案 2 :(得分:0)

这是不使用 flex-box

的另一种方法

我在这里将display: table;添加到ul,或将display: table-cell;添加到li

它工作正常。

ul,li{
  list-style:none;
  padding : 0px;
 }
form>ul {
    display: table;
}
form>ul>li {
    display: table-cell;
}
  <form method="post" action="menu.php">
  <ul>
    <li>
      <ul class="menus">
        <li>Sausage Rolls</li>
        <li>Fries</li>
        <li>Wings</li>
        <li>Spinach Pinwheels</li>
        <li>Garlci Bread</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Instant Pot Chicken</li>
        <li>Salmon Pattles</li>
        <li>Callco Cabbage</li>
        <li>Bacon Wrappend Jalapeno</li>
        <li>Potato Mash</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Edible Cookie Dough</li>
        <li>Ice Cream Sandwich</li>
        <li>Cheesecake</li>
        <li>Chocolate Cake</li>
        <li>Brownies</li>
      </ul>
    </li>
    <li>
      <ul class="menus">
        <li>Wine</li>
        <li>Beer</li>
        <li>Water</li>
        <li>Juice</li>
        <li>Coffee</li>
      </ul>
    </li>
  </ul>
  <input type="submit" name="order" value="Order">
</form>

答案 3 :(得分:0)

没有display: flex,则为简化的html。

<html>
<head>
<title>Order</title>
<link rel="stylesheet" type="text/css" href="menu.css">
<style type="text/css">
.menus
{
   float: left;
  padding-left: 1rem;
  
}
.btn-submit {
    clear:left;
}

</style>
</head>
<body>
<form method="post" action="menu.php">

<ul class="menus">
    <li>Sausage Rolls</li>
    <li>Fries</li>
    <li>Wings</li>
    <li>Spinach Pinwheels</li>
    <li>Garlci Bread</li>
</ul>
<ul class="menus">
    <li>Instant Pot Chicken</li>
    <li>Salmon Pattles</li>
    <li>Callco Cabbage</li>
    <li>Bacon Wrappend Jalapeno</li>
    <li>Potato Mash</li>
</ul>
<ul class="menus">
    <li>Edible Cookie Dough</li>
    <li>Ice Cream Sandwich</li>
    <li>Cheesecake</li>
    <li>Chocolate Cake</li>
    <li>Brownies</li>
</ul>
<ul class="menus">
    <li>Wine</li>
    <li>Beer</li>
    <li>Water</li>
    <li>Juice</li>
    <li>Coffee</li>
</ul>
<div class="btn-submit"><input type="submit" name="order" value="Order"></div>
</form>
</body>

</html>