【发布时间】:2017-01-01 00:22:34
【问题描述】:
我继承了一个网站,该网站在各个页面上都有很多输入,例如:
<input name="name" type="text" id="name" size="40" maxlength="64">
和
<textarea name="descr" cols="40" rows="2" id="descr">
我一直在改进网站的 CSS,使其布局灵活,适用于移动设备等。但 HTML 的size/cols 规则坚持设置固定大小,不受外界因素影响。
我尝试过使用 CSS,例如:
CSS:
input, textarea, select {
max-width:100%;
}
(并且还附加了!important)但这不会影响元素。
它已被转换为 HTML5 模板,输入在一个表格中(但表格很灵活,不是问题)。
有没有办法让 CSS 覆盖输入中的 HTML size/cols 声明?
多个页面上的大量输入要求我找到一种简单的 CSS 方法来一举覆盖它们。据我所知,这似乎并不直接可行,我将不得不检查并编辑每个输入元素:-/ 的大小值。
编辑
完整代码:
HTML:
<table id='centralTable'>
<tr>
<td colspan="2">Update Category</td>
</tr>
<tr>
<td width="28%"><strong><label for='name'>Category Name</label></strong></td>
<td width="70%"><input name="name" type="text" id="name" value="catname" size="40" maxlength="40" required></td>
</tr>
<tr>
<td><input name="id" type="hidden" id="id" value="12" >
</td>
<td><input type="submit" value="Update" ></td>
</tr>
</table>
CSS:
#centralTable {
width:90%;
max-width:780px;
min-width:300px;
margin:1rem auto;
}
input, textarea, select {
max-width:100%;
}
如果我调整 size 值的大小,页面上的其他元素会按预期适合屏幕,但 size 值会抵消这一点。 Firebug 显示max-width 已应用于元素,但元素大小与此不符。
编辑二:
将td 元素max-width 设置为px 值 而不是百分比有效,但显然不适应视口大小。
td {
max-width:200px; /* This works in containing the input size */
}
【问题讨论】:
-
您最好将其作为
php标记的问题提出并获得提交 php-script 的帮助,该脚本将解析所有 html 文件并从输入标签中删除不需要的属性 -
@Banzay 在他的个人资料中说他已经编写 PHP 15 年了。如果 OP 想使用 PHP,我猜他不会问这个问题:P
-
@JacobGray 哦。大声笑:D 15 年前?
-
如果我不得不在每次出现时都摆弄 PHP,那么我不妨编辑原始大小值。