我有一个宽度可变的文本菜单,例如:
Home
Services
About Us
Contact
如何在css中悬停时将图像放置在不同宽度文本的右侧? 是否可以不使用固定宽度?
Home
Services •
About Us
Contact
或
Home
Services
About Us
Contact •
答案 0 :(得分:1)
现场演示http://tinkerbin.com/RrRtqfVf
做这个
<强> HTML 强>
<ul>
<li>Hello</li>
<li>Hello</li>
<li>Hello</li>
<li>Hello</li>
<li>Hello</li>
<li>Hello</li>
<li>Hello</li>
</ul>
的CSS
ul{
list-style:none;
}
li{
position:relative;
float:left;
clear:left;
margin-top:10px;
}
li:hover:after{
content:'';
background:red;
position:absolute;
right:-20px;
top:5px;
width:10px;
height:10px;
}
<强> Demo 强>
答案 1 :(得分:0)
试试这个
HTML
<ul>
<li>Home</li>
<li>Services</li>
<li>About Us</li>
<li> Contact</li>
</ul>
CSS
ul{width:80px}
ul li:hover{background:url(http://hotels.online.com.sg/DB/icon/star_icon2.gif) right no-repeat}
答案 2 :(得分:0)
我的建议,请使用background-image
..
让我们假设这是你的HTML:
<ul>
<li>Home</li>
<li>Services</li>
<li>About Us</li>
<li>Contact</li>
</ul>
现在,使用此CSS来实现您的目标:
ul{list-style-type:none;}
ul li{width:120px;}
ul li:hover{background:url(your/image/path) no-repeat top right;}
如果您想在菜单中的每个项目中添加不同的图片/图标,请使用attributes
或其他类:
<ul>
<li data="home">Home</li>
<li data="services">Services</li>
<li data="about">About Us</li>
<li data="contact">Contact</li>
</ul>
你的CSS应该是这样的:
ul{list-style-type:none;}
ul li{width:120px;}
ul li[data="home"]:hover{background:url(your/image/path1) no-repeat top right;}
ul li[data="services"]:hover{background:url(your/image/path2) no-repeat top right;}
ul li[data="about"]:hover{background:url(your/image/path3) no-repeat top right;}
ul li[data="contact"]:hover{background:url(your/image/path4) no-repeat top right;}