>  기사  >  웹 프론트엔드  >  ie6和7里的input_html/css_WEB-ITnose

ie6和7里的input_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-21 09:41:17971검색

input ie html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">*{margin:0px; padding:0px}table{ border-collapse:collapse; border-spacing:0}</style></head><body>	<table>		<tr>			<td>				<input type="text" style="width:100px; height:50px; background:red; border:2px solid black" />			</td>		</tr>		<tr>			<td>				<input type="text" style="width:100px; height:50px; background:yellow; border:2px solid black" />			</td>		</tr>		<tr>			<td>				<div style="background:#138eee; width:100px; height:50px; border:2px solid black"></div>			</td>		</tr>	</table></body></html>


1. 可以看到 -> input的上下会多出一像素
2. 用 -> float:left可以解决这个问题
3. 请问是否有其它方法能解决这个问题,因为有时候一行内要写很多标签,浮动起来就比较麻烦

回复讨论(解决方案)

这个貌似是td里的空格造成的,换成下面的试下

<td><input type="text" style="width:100px; height:50px; background:red; border:2px solid black" /></td>

空格原先就试过不行的...继续求解...

为啥要用table呢?用div不行么?

我试了好多种方法都不行,看来只能用float了,后面再加个

试了下,没有出现楼主所说的那种情况,两个input之间的boder加粗了而已。

border-spacing这个属性只有在border-collapse这个属性的属性值设置为sepeate时才有效。

表头  

试了下,没有出现楼主所说的那种情况,两个input之间的boder加粗了而已。
楼主说的是IE6/IE7会出现这个问题。我试了下,的确如此!

如果把input换成div则不会出现间隙,
所以可能是input元素在表格在IE6/IE7下的问题,
经测试,下面的代码可以解决这个间隙问题:

input{ margin: -1px 0; }

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.