IE下a标签中内容为空,在页面中无法显示其hover样式的解决方法
2012-08-16 16:15
776 查看
最近做一个活动页面,页面中有一个按钮,如果抠图处理单独作为按钮图片的话,效果不是很好,于是想将整个图作为背景,然后在设置一个<a>标签作为按钮通过绝对定位使其与图片中的按钮重合,从而达到点击按钮的效果。一切在chrome和FF下都很顺利,又在IE下栽了跟头。因为在IE下不会出现<a>标签的hover样式,也无法点击。若果将<a>设置背景色,则IE下就可以识别<a>了,但是又没有透明的背景色,于是想到用滤镜,但是IE6又无法兼容。后来还是只能将图片作为背景来设置,而不是通过<img>标签来放图片,就不会出现这些问题了。
之前是用的<img>来放置图片,代码如下:
这时候,IE下无法得到<a>标签及其hover效果。
由于设置<a>标签的背景色可以达到效果,想到使用滤镜,html代码不变,css代码如下:
IE7以上能实现,但IE6不支持滤镜,所以,会出现<a>的背景色,如图所示:
所以,还是不能这样子写的。于是,去掉了<img>标签,改为设置包含<img>的div的背景来实现,html代码如下:
update: 2012/09/21
今天在网上 还看到一个方法,就是在a标签中添加一个<span>标签,通过设置<span>的背景来作为a的背景。
相应的css需要加入以下代码:
这个方法还是挺不错的,有很多的应用场景。比如同一个<a>下面需要对不同的文字显示不同样的时候,可以将不同的文字用两个<span>来包装,然后通过"a.hover span.class"来设置不同的样式。
之前是用的<img>来放置图片,代码如下:
<div id="a-box"> <img src="http://img01.taobaocdn.com/tps/i1/T1vyryXixpXXaAmJDA-280-57.jpg"> <a href="#" id="a-btn"></a> </div>css代码如下:
#a-box { width: 280px; height: 57px; position: relative; } #a-btn { position: absolute; width: 156px; height: 47px; display: block; left: 63px; top: 5px; }
这时候,IE下无法得到<a>标签及其hover效果。
由于设置<a>标签的背景色可以达到效果,想到使用滤镜,html代码不变,css代码如下:
#a-box { width: 280px; height: 57px; position: relative; } #a-btn { position: absolute; width: 156px; height: 47px; display: block; left: 63px; top: 5px; background:#fff; opacity:0; filter:alpha(opacity:0); }
IE7以上能实现,但IE6不支持滤镜,所以,会出现<a>的背景色,如图所示:
所以,还是不能这样子写的。于是,去掉了<img>标签,改为设置包含<img>的div的背景来实现,html代码如下:
<div id="b-box"> <a href="#" id="b-btn"></a> </div>css代码就很简单咯:
#b-box { width: 280px; height: 57px; position: relative; background: url(http://img01.taobaocdn.com/tps/i1/T1vyryXixpXXaAmJDA-280-57.jpg) no-repeat; } #b-btn { position: absolute; width: 156px; height: 47px; display: block; left: 63px; top: 5px; }这样就能兼容IE啦!
update: 2012/09/21
今天在网上 还看到一个方法,就是在a标签中添加一个<span>标签,通过设置<span>的背景来作为a的背景。
相应的css需要加入以下代码:
a:hover span { background:#fff; display:block; width:16em; }
这个方法还是挺不错的,有很多的应用场景。比如同一个<a>下面需要对不同的文字显示不同样的时候,可以将不同的文字用两个<span>来包装,然后通过"a.hover span.class"来设置不同的样式。
相关文章推荐
- IE下a标签中内容为空,在页面中无法显示其hover样式的解决方法
- 这两天使用jquery-mobile写手机页面遇到的append样式不生效,以及listview内容显示不完解决方法
- spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。
- vs2008与IIS 7.0使用在vista上时出现的问题及解决方法(Internet Explorer 无法显示该页面)(VS2008: IE Cannot Display Web Page)
- Google Chrome浏览器无法显示hover样式的解决方法
- ie9后浏览器fckeditor无法上传图片、弹出浮层内容不显示的解决方法
- 利用ajax在index页面自动执行方法并显示相关内容,在执行相关按钮操作(如登录注册)后返回index页面后ajax不执行,无法显示相关内容的问题解决方法之一
- JSP页面IE无法打开Internet 站点…… 已终止操作 的解决方法
- IE的option标签单击事件无法触发的解决方法
- 使用Form验证,未登录时登录页面无法显示图片、css、js文件的解决方法
- Easyui - tooltip 箭头在IE下无法显示的解决方法
- Web_PHP_DedeCMS_织梦dedecms搜索页面列表无法调用自定义内容模式字段的解决方法
- IE中页面无法刷新,方法不执行的解决办法
- 如何解决自定义404页面在IE等浏览器中无法显示问题
- 解决IE新开窗口无法显示内容的问题
- IIS“页面无法显示”的故障及其解决方法
- 解决Visual Studio 2005 aspx页面无法显示设计视图的方法
- ExtJs TreePanel使用TreeLoader在IE下无法正常加载显示的解决方法
- 解决IE新开窗口无法显示内容的问题
- 在IE下正常显示但Chrome下无法显示的解决方法