2008-12-27 32 views
6

我想要一个500px的textarea,这是我用于textarea的CSS:如何在IE和Firefox中制作textarea宽度相同?

width:498px; padding:0px; margin:0px;

我注意到IE和Chrome在默认情况下有一个1px的边框,另一方面FF有一个2px边框,导致textarea是502px而不是500px,所有解决方法?

只需注意,我可以明确指定texarea边界宽度,即。 border-width:1px,但这里的问题是,它不能很好地与IE浏览器配合使用(当边框设置为1px时,IE中的默认textarea边框看起来不太好),但我可以改变边框颜色,但是我不想这样做,我更喜欢保留默认的浏览器样式,我只是希望所有浏览器中的宽度都相同,而不更改默认样式或将颜色设置为边框,这可能吗?

+0

重要的是不要依赖行和列属性(如果你最终使用这些属性,也知道它们也会根据字体的不同而改变),并像这里提到的那样使用像素。 – 2011-04-24 12:40:03

回答

8

通过使用文档顶部的重置CSS表单,可以将所有浏览器的默认样式设置为相同。我自己喜欢YUI reset CSS。这应该将所有控件的基本样式设置为在所有浏览器中相同,并且应该允许更可预测的布局。

IMO如果你让每个浏览器都有自己的风格(甚至可以由用户定制!),你正在为应用程序提供不可预知的风格,在你从未想过的地方出现问题他们会。最好使用重置CSS,然后相应地设置你的应用程序样式。如果你签出雅虎的网站(引用),他们也会有自己的“基础”CSS,你可以从这里开始,这很酷。

<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.6.0/build/reset/reset-min.css"> 
+0

重置CSS非常有用。 – Alex 2009-04-27 11:59:25

0

我们倾向于为IE和FF创建单独的样式表来解决他们的“怪癖”。然后可以使用一小段代码来确保使用正确的样式表。

<!--[if lte IE 6]> works for < than IE 6 
<link href="/css/IE6Below.css" media="screen" rel="Stylesheet" type="text/css" /> 
<![endif]--> 

还有 作品IE 6

等等

0

我们使用jQuery来装饰我们的HTML元素,让它处理跨浏览器的问题。

0

从本质上来说,您会感叹浏览器的默认设置与每个浏览器都不一样,但不想直接改变这些属性。

这没有意义。

和其他人一样,我会推荐使用重置样式表(我是Eric Meyer的粉丝),然后完全按照您希望的样式设置边界。简单。明确。没有缺点。

相关问题