IE7- radio无法去掉内边距

  IE7-浏览器下,设置radio容器的margin和padding都为0都无法去掉圆点周围的补白内容,IE8和firefox浏览器可以去掉补白内容。

  注:IE8需要添加xhtml申明为CSS1Compat才行。

  最后只好用JS+图片来模拟radio选项,测试效果如下

IE7- radio无法去掉内边距

  获取焦点和没有焦点的2张radio图片:IE7- radio无法去掉内边距 IE7- radio无法去掉内边距

  源代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style type="text/css">
body{background:#ffffff;}
.radio label{line-height:15px;background:url(radio.gif) no-repeat left 1px;font-size:13px;padding-left:12px;cursor:pointer;}
.radio label.checked{background-image:url(radio-checked.gif);}
</style>
<script type="text/javascript">
function doCheck(dv,e){
  var o=e.target||e.srcElement;
  if(o!=dv){
    var lbs=dv.getElementsByTagName('label'),input=dv.getElementsByTagName('input')[0];
	lbs[1].className=lbs[0].className='';
	o.className='checked';
	input.value=o.getAttribute('value')||o.innerHTML;
  }
}
</script>
<div class="radio" onclick="doCheck(this,event)"><label value="男">男</label> <label value="女">女</label><input type="hidden" name="sex"/></div>
<input type="radio" style="margin:0px;padding:0px;"/>

 

加支付宝好友偷能量挖...


原创文章,转载请注明出处:IE7- radio无法去掉内边距

评论(0)Web开发网
阅读(129)喜欢(0)HTML/CSS兼容/XML