输入宽度在css级别和元素级别定义

时间:2011-08-07 00:03:35

标签: html css

<style>

input[type="text"] 
{
    width: 200px;
    border: 1px solid #CCC;
}

</style>
<body>

<input type="text" name="test" value="test" size="5" />
</body>

在浏览器(Firefox 5)上查看时,显示的“大小”是固定的200px。似乎我指定的大小完全被忽略了。

这是来自MVC项目,这是它附带的默认样式css。暂时,我取下宽度:200px。但有没有办法让它保持在那里,并在“输入”级别覆盖它?

我也试过

<input type="text" name="test" value="test" width="50px" />

它根本没有覆盖。

3 个答案:

答案 0 :(得分:20)

如果要在元素级别覆盖CSS宽度,请尝试直接将样式标记应用于元素:

<input type="text" name="test" value="test" style="width: 50px;" />

这对我有用:

<html>
   <style>

      input[type="text"] 
      {
         width: 200px;
         border: 1px solid #CCC;
      }
</style>
<body>
      <input type="text" name="test" value="test" style="width: 50px;" />
</body>
</html>

编辑添加:

是的,混合HTML w / CSS被认为是禁忌,所以正确的解决方案最终将它提取到一个类:

.my_text_box {
    width: 50px;
 }

然后:

<input type="text" name="test" value="test" class="my_text_box" />

答案 1 :(得分:3)

请勿在HTML中设置显示 样式

使用:

<input class="narrowInput" type="text" name="test" value="test" />

或者:

<input id="narrowInput" type="text" name="test" value="test" />

仅使用“narrowInput”。使用具有业务含义的名称,即:描述输入数据用途的名称。

然后CSS是:

input.narrowInput
{
    width: 50px;
}

或者:

#narrowInput
{
    width: 50px;
}

答案 2 :(得分:0)

删除

input[type="text"] 
{
    width: 200px; //THIS
}

<input type="text" name="test" value="test" size="5" <--//THIS />

选择使用其中一种进行设计。