html/css - 使用带有 <img> 标签的精灵 - 如何在 Chrome 中删除轮廓?
Posted
技术标签:
【中文标题】html/css - 使用带有 <img> 标签的精灵 - 如何在 Chrome 中删除轮廓?【英文标题】:html/css - using sprite with <img> tag - how to remove the outline in Chrome? 【发布时间】:2011-12-19 22:38:01 【问题描述】:我正在重做一个使用 CSS 精灵的网站。我也在使用带有一些标签的精灵,我无法删除这些标签。
所以标签获得了 CSS-background-image 和适当的背景位置。工作正常。我不得不删除 alt 属性,因为它一直显示在 Firefox 上。不太好,但还可以。
我的问题: 在 Chrome 中,我最终在图像周围有一个微弱的轮廓。我首先认为这些是边界,但我认为它是轮廓。
如果我 CSS outline: 3px solid blue
微弱的边框,变成 3px 纯蓝色...但如果我设置 outline: 0;
没有任何反应。
更多代码: html
<img class="ui-li-icon ui-li-thumb iconComments" />
CSS
.ui-icon, .iconComments, .iconMail, .ui-icon-searchfield:after
background: #FFFFFF /*global-icon-color*/;
background: transparent /*global-icon-disc*/;
background-image: url(img/sprite.png) /*global-icon-set*/;
background-repeat: no-repeat;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
border-radius: 9px;
.iconComments
background-position: -36px 50%;
.iconMail
background-position: 2px 50%;
.iconComments, .iconMail
height: 20px;
width: 20px;
任何想法,轮廓/边框来自哪里以及如何删除它?
谢谢
【问题讨论】:
你试过outline: none
吗?
您确实意识到图像上的src
和alt
属性是必需的?
图像只是菜单项前面的小徽标。我在 Stack Overflow 上找到了另一篇文章,我正在尝试关注 ***.com/questions/4335957/using-sprites-with-img-tag
@frequent:您绝对应该为这些图像使用跨度。我认为你对这个答案所说的“语义意义”感到困惑。菜单项前面的图标没有语义意义,它是装饰性的。段落上下文中的图像具有语义含义。
@frequent 顺便说一句,如果你可以绝对定位图像,你可以使用 CSS clip
属性直接在前景中使用精灵。
【参考方案1】:
此问题可能是由于您的图像标签中没有 src 属性。
【讨论】:
噗。那是很久以前的事了……我剪了这个。【参考方案2】:如果您可以绝对定位图像,则可以使用 CSS clip
属性直接在前景中使用精灵。
【讨论】:
只是为了添加更多信息。虽然这在 IE7+、FF、Chrome、Safari 和 ios 上运行良好,但在 android 上却不行。【参考方案3】:这通常是由边框属性引起的。我知道你说你认为它是大纲,但你有没有在你的 img 课上尝试过这个......
.imgClass
border-style: none;
text-decoration: none;
或者这个
.imgClass
border:0;
【讨论】:
抱歉,没用。我只是用 替换了 只是为了看看会发生什么。这行得通,但我宁愿找到一种方法来保留以上是关于html/css - 使用带有 <img> 标签的精灵 - 如何在 Chrome 中删除轮廓?的主要内容,如果未能解决你的问题,请参考以下文章
html css 怎么使img和a标签在一行中间对齐,并在div中居中
html css 怎么使img和a标签在一个行内元素中间对齐
使用 SVG、HTML/CSS、ImageMap 创建带有可点击省份/州的地图
html css里设置div为50%透明,为div里面的img添加opacity:1;不透明,但显示的结果img也是透明的,