Html 如何使用圆形图像背景修复CSS菜单
我想在左右菜单上显示圆形图像。您可以看到示例。背景图像为:Html 如何使用圆形图像背景修复CSS菜单,html,css,Html,Css,我想在左右菜单上显示圆形图像。您可以看到示例。背景图像为: <ul> <li><a class="current" href="">Home</a></li> <li><a href="">Faq</a></li> <li><a href="">About</a></li> </ul>
<ul>
<li><a class="current" href="">Home</a></li>
<li><a href="">Faq</a></li>
<li><a href="">About</a></li>
</ul>
让我知道CSS在不剪切当前图像的情况下实现目标的技巧
结果应该是这样的
是使用
滑动门技术的最终结果
您应该使用边框半径:5px
和背景:线性渐变(起始颜色、结束颜色)代码>
对于IE支持,请使用
例如,在中,您应该使用边框半径:5px
和背景:线性渐变(起始颜色、结束颜色)代码>
对于IE支持,请使用
例如,您是否尝试将图像用作精灵
如果是这样,你必须在背景上选择不同的位置,
您还必须为每个元素定义高度和宽度。您是否尝试将图像用作精灵
如果是这样,你必须在背景上选择不同的位置,
你还必须为每个元素定义一个高度和宽度。你可以使用CSS圆角,它与你的背景图像配合得很好(尽管你不需要圆角,图像也不需要这么宽-10px宽,因为它重复-x)
li a:link, li a:visited {
background-image: url('../images/navBg.jpg');
background-repeat: repeat-x;
background-position: top left;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
}
li a:hover, li a:active{
background-position: bottom left;
}
你可以使用CSS圆角,它可以很好地与你的背景图像一起工作(虽然你不需要图像的圆角,图像也不需要太宽-10px宽,因为它重复-x
li a:link, li a:visited {
background-image: url('../images/navBg.jpg');
background-repeat: repeat-x;
background-position: top left;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
}
li a:hover, li a:active{
background-position: bottom left;
}
使用滑动门技术。
您的主要问题是
s是浮动的,因此
的高度为0。您可以同时浮动ul,也可以将其设置为溢出:隐藏
================================
更新:
对不起,速读总有一天会杀了我:)
以下是我最新的答案:
将此添加到css:
li {
padding-left: 10px;/* to create gap that will not be overlapped with <a> background */
background:url(http://i.stack.imgur.com/yLgZA.png) no-repeat left top #000;
}
li a, li a.current {
background:url(http://i.stack.imgur.com/yLgZA.png) no-repeat right top #000;
text-indent: -10px; /* same as li padding, to realign centered text */
}
li{
左填充:10px;/*以创建不会与背景重叠的间隙*/
背景:url(http://i.stack.imgur.com/yLgZA.png)不重复左上角#000;
}
李安,李安{
背景:url(http://i.stack.imgur.com/yLgZA.png)无重复右上角#000;
文本缩进:-10px;/*与li填充相同,以重新对齐居中文本*/
}
这是您应该添加悬停状态的基础。使用滑动门技术。
您的主要问题是
s是浮动的,因此
的高度为0。您可以同时浮动ul,也可以将其设置为溢出:隐藏
================================
更新:
对不起,速读总有一天会杀了我:)
以下是我最新的答案:
将此添加到css:
li {
padding-left: 10px;/* to create gap that will not be overlapped with <a> background */
background:url(http://i.stack.imgur.com/yLgZA.png) no-repeat left top #000;
}
li a, li a.current {
background:url(http://i.stack.imgur.com/yLgZA.png) no-repeat right top #000;
text-indent: -10px; /* same as li padding, to realign centered text */
}
li{
左填充:10px;/*以创建不会与背景重叠的间隙*/
背景:url(http://i.stack.imgur.com/yLgZA.png)不重复左上角#000;
}
李安,李安{
背景:url(http://i.stack.imgur.com/yLgZA.png)无重复右上角#000;
文本缩进:-10px;/*与li填充相同,以重新对齐居中文本*/
}
这是基本的,您应该添加悬停状态。我认为如果不使用CSS3中的高级内容,您不可能做到这一点——但我假设您不能使用CSS3,因为否则您只需要使用border radius。要在IE中实现这类功能,您必须使用一些div(一个用于保持左侧,一个用于保持右侧,一个用于保持中间)。我认为如果不使用CSS3中的高级内容,您无法实现这一点,但我假设您不能使用CSS3,因为否则您只需使用border radius即可。要在IE中实现这类功能,您必须使用几个div(一个按住左边,一个按住右边,一个按住中间)。我发现答案的最后一句是关于这一点的,我不是来做全职工作的,而是来举个例子;)我发现答案的最后一句是关于这一点的,我不是来做全职工作的,而是来举个例子;)