CSS:底部的菜单项

时间:2015-12-17 11:25:09

标签: html css

我想创建一个菜单,其中菜单项应放在底部。即使他们有2行或更多。



    ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-color: #333;
    }

    li {
        float: left;
        height: 90px;
        width: 100px;
    }

    li a {
        display: block;
        color: yellow;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
        position: relative;
        bottom: -40px;
    }

    li a:hover {
        background-color: #111;
    }

    <ul>
      <li><a href="default.asp">Home</a></li>
      <li><a href="news.asp">Newsletter & Extras</a></li>
      <li><a href="contact.asp">Contact</a></li>
      <li><a href="about.asp">About</a></li>
    </ul>
&#13;
&#13;
&#13;

现在我尝试通过使a-tags相对并调整底部来实现这一点。但那不起作用。

那怎么可能,所有文本都在底部的虚线上对齐?

5 个答案:

答案 0 :(得分:2)

Flexbox可以做到这一点:

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #333;
}
li {
  float: left;
  height: 90px;
  width: 100px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
li a {
  display: block;
  color: yellow;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  position: relative;
}
li a:hover {
  background-color: #111;
}
<ul>
  <li><a href="default.asp">Home</a>
  </li>
  <li><a href="news.asp">Newsletter & Extras</a>
  </li>
  <li><a href="contact.asp">Contact</a>
  </li>
  <li><a href="about.asp">About</a>
  </li>
</ul>

答案 1 :(得分:0)

好的,找到解决方案:li必须是相对的,里面的a-tags必须是绝对的:

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
}

li {
    float: left;
    height: 90px;
    width: 100px;
    position: relative;
}

li a {
    display: block;
    color: yellow;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    position: absolute;
    bottom: 0px;
}

li a:hover {
    background-color: #111;
}

答案 2 :(得分:0)

使用此代码:

 ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    background-color: #333;
    display: flex;
    padding-top: 50px;
    flex-wrap: wrap;
}
li a {
    display: block;
    color: yellow;
    text-align: center;
    text-decoration: none;
}
li a:hover {
    background-color: grey;
}

答案 3 :(得分:0)

使用此li类:

 li {
        float: left;
        height: 90px;            
    }

只需从此课程中删除宽度。

答案 4 :(得分:0)

检查一下我已经改变了css几个地方可能是我解决了你的问题

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
    width:100%;
    display: inline-block; 
    text-align: center;
}

li {
   display: inline-block; 

    width: 100px;
}

li a {
    display: block;
    color: yellow;
    text-align: center;
    text-decoration: none;
    position: relative;
    padding: 10px;
    top:5px;

}

li a:hover {
    background-color: #111;
}

https://fiddle.jshell.net/Rajkumarrana/12fsmyzg/