使用CSS覆盖HTML width属性

时间:2012-01-14 15:47:21

标签: html css html-table

是否可以在CSS中覆盖表的HTML属性宽度而不使用CSS类

我没有运气就试过这样的事情:

<table cellpadding="0" cellspacing="0" width="180">
    <tbody>
        <tr>
            <td bgcolor="#f0f0f0">
                <img style="display:block;" border="0" src="menu_up.jpg" alt=" " width="20" height="64">
            </td>
         </tr>
    </tbody>
</table>

CSS:

@media only screen and (max-device-width: 480px) {

    td[width=180] {
        width: 100px !important;
    }

}

有什么想法吗?

非常感谢。

3 个答案:

答案 0 :(得分:2)

  1. 必须引用CSS属性选择器中的值。
  2. 使用table代替td
  3. 以下按照预期在Firefox 9.0.1(http://jsfiddle.net/WsbP6/)中使用。

    table[width="180"] {
        width: 1000px;
    }
    

    如果没有引号,我的控制台中会出现以下错误:

      

    属性选择器中的值的预期标识符或字符串,但找到'180'   由于选择器错误而忽略了规则集。

答案 1 :(得分:1)

是的,这是可能的。您只需选择table而不是td,您应该将width属性的值放在引号中(只是尝试过)。

table[width="180"] {
    width: 100px !important;
}

答案 2 :(得分:0)

我认为你可以,你只是针对错误的东西,而不是td {},试试表{}:

http://jsfiddle.net/adaz/msgtG/