停止CSS覆盖HTML宽度属性
我有一些旧内容,其中包含的表的宽度是用HTML宽度属性指定的,如:停止CSS覆盖HTML宽度属性,html,css,Html,Css,我有一些旧内容,其中包含的表的宽度是用HTML宽度属性指定的,如:。CSS选择器表的规则将覆盖此属性。我是否可以停止此重写,使表具有HTML属性中指定的宽度(并不总是250像素,这只是一个示例)?我可以选择不应使用选择器覆盖其宽度的表格#column1 table尝试以下操作: #column1 table { width: auto; } 正如您所知,css将始终覆盖旧的html内联属性。使用所见即所得编辑器时,这通常是一个问题 我用javascript和jquery解决了cms中所
。CSS选择器表的规则将覆盖此属性。我是否可以停止此重写,使表具有HTML属性中指定的宽度(并不总是250像素,这只是一个示例)?我可以选择不应使用选择器覆盖其宽度的表格#column1 table
尝试以下操作:
#column1 table {
width: auto;
}
正如您所知,css将始终覆盖旧的html内联属性。使用所见即所得编辑器时,这通常是一个问题
我用javascript和jquery解决了cms中所见即所得编辑器生成的旧html的这个问题。我遍历表并读取宽度和高度属性,然后将其转换为内联css:
var $table = $('#column1 table');
$table.css({
"width" : $table.attr('width'),
"height" : $table.attr('height')
});
您不能用html覆盖css,但可以添加属性style
例如:
style = " width: 250px;"
编辑:您可以在外部通过放置来覆盖它!重要提示:在css规则的末尾,它将取消与所更改内容相关的任何其他css属性
例如:
看看这个链接
在html中输入Id,即
在桌面上,然后在css中,只需执行以下操作
#TABLE1
{
width:250;
}
您能告诉我们为什么要使用这样的内联html属性吗
除非你有很强的理由,否则我建议你把所有与风格相关的东西都转移到CSS上。如果CSS有自己的文件,而不是内联文件,那就更好了
始终将内容与演示分离是一种更好的做法。我想到的一个可能但不雅观的答案是将CSS选择器表的规则替换为:not(#column1)表的规则。不过,这只适用于某些现代浏览器,而不适用于IE。如前所述,我建议您使用样式表!您只需在styles.css中实现这一点:
table {
width:250px;
}
如果还不够,你可以加上!重要的,比如:
table {
width:250px !important;
}
并在html的头部添加如下样式表:
<link rel="stylesheet" type="text/css" href="css/stlyes.css">
否则,您需要将style=“width:250px”直接添加到每个表中。如果要将宽度再次更改为例如260px,则必须再次更改所有宽度
但是,如果您可以访问HTML代码,建议您进行查找替换,以获得干净的代码。几乎任何非常简单的文本编辑程序都应该有“查找-替换”选项…我知道这个问题是两年前提出的,但它可能对其他有类似问题的人有所帮助。您可以使用CSS属性选择器:
table:not([width]) {
width: 250px;
}
请注意,据我所知,它在IE 9下不起作用。为什么不能简单地删除覆盖该属性的csswidth
规则?因为这是在许多旧的导入内容上。我可能会编写一个find-replace脚本,用于所有与#column1 table匹配的表,但最好找到一种更简单的方法。我认为最好删除所有内联宽度和高度属性,否则您可能需要添加其他内联样式,正如Christopher KenneyI所建议的,您导入了html,对吗?你可以尝试(我不确定它是否有效)添加!对你的CSS风格很重要。您这样使用它:table{width:250px!important;}据我所知,250px只是一个示例宽度,对吗@tog22?或者所有的桌子都是250像素大的?那不行,我试过了。它计算表的宽度时,就好像没有应用CSS或HTML宽度属性一样。只需使用宽度:250px而不是自动。@tog22我添加了我曾经使用过的javascript(和jquery)解决方案。为什么在不需要js的情况下,只需简单的CSS就可以获得如此困难的解决方案?这将使整个代码更加肮脏!我发布的js解决方案是针对使用wysiwyg编辑器的情况。使用!“重要”可能会导致我不愿意面对的其他问题。我知道,请参阅我对原始问题的澄清意见。谢谢,但请参阅我对原始问题的澄清意见。@togg22:是的,是的!重要的事情可能会有所帮助。但是,我不会将其用作style=“…”而是在样式表中使用。否则,您可以进行查找替换,这将是推荐的!我不认为这回答了我的问题,是吗?
table:not([width]) {
width: 250px;
}