无法用图像设计垂直菜单

时间:2014-03-21 21:51:55

标签: jquery html css menu

我正在研究我的大学项目,我必须在项目中添加垂直菜单栏。我在Google上搜索了很多,但找不到用于创建带图像的垂直菜单的代码。你能告诉我如何创建这种菜单吗?

我想像这样创建我的菜单:

enter image description here

我正在尝试这样,但文字放在底部。我希望它在中间。

<ul class="menu"> 
            <li>
                <a href="#"><p><img src="images/sys.png" width="30" height="30">Home</p></a>
            </li>
        </ul>

2 个答案:

答案 0 :(得分:2)

基本思想是你可以使用display:inline-block和vertical-align:middle来垂直对齐文本和图像。

<ul class="nav">
    <li class="roadster"><a href="#"><span class="brand">Roadster</span><span class="image"><img src="http://png-3.findicons.com/files/icons/1012/racing_cars/128/mitsubishi_lancer.png" alt=""></span></a></li>
    <li class="roadster"><a href="#"><span class="brand">Roadster</span><span class="image"><img src="http://png-3.findicons.com/files/icons/1012/racing_cars/128/mitsubishi_lancer.png" alt=""></span></a></li>
</ul>

http://jsfiddle.net/YVp8E/11/ {
{3}}

.nav {
   width: 25em;
}
.nav li {
  display: block; 
}
.nav li a {
    color: #686868;
    display: block;
    padding: 10px 0;
}
.nav li {
    background: url(https://cdn2.iconfinder.com/data/icons/ios-7-icons/50/forward-128.png) no-repeat 100% 50%;

}
.nav li {
    border-top: 1px solid #ccc; 
}
.nav li:first-child {
    border-top: none; 
}
.nav span {
  display: inline-block;
  vertical-align: middle; 
}
.nav .image {
  padding-left: 60px;
}

答案 1 :(得分:0)

你可以使用:after伪元素来实现欲望效果。查看 Demo

<ul class="menu"> 
  <li><a href="#">Boxter</a></li>
  <li><a href="#">Cayman</a></li>
  <li><a href="#">911</a></li>
</ul>

/ - 这是CSS ---- * /

ul{margin:0; padding:0; list-style-type:none;}
li a
{
  display:block;
  border-bottom:1px solid grey;
  padding:25px 0;

}
li{ position:relative;}

li a:after
{
  content:">";
  position:absolute;
  right:20px;
  top:30px;
  vertical-align:middle;
}
li:nth-child(1):after
{
content:" ";
position:absolute;
right:50px;
top:0; 
background:url("http://lorempixel.com/70/70") 0 20px no-repeat;
width:70px;
height:70px;
vertical-align:middle;
}
li:nth-child(2):after
{
content:" ";
position:absolute;
right:50px;
top:0; 
background:url("http://placehold.it/70x70") 5px 20px no-repeat;
width:70px;
height:70px;
vertical-align:middle;
}