html - 如何仅选择外部元素(表格/列表)
问题描述
我只想将样式应用于外部元素(表格),而不是嵌套的。
由于系统的复杂性(并且由于我不确定内部表格使用了哪些其他格式),我不想先更改所有元素的样式,然后再为嵌套元素覆盖它们(即容易)但实际上只处理外部元素/表(我现在也不能应用类,因为它们我必须修复一堆代码)。
所以我有这样的事情:
<body>
<div>
<...>
<table>
<tr>
<td>
<table>
<tr>
<td>
I'm some content!
</td>
</tr>
</table>
</td>
</tr>
</table>
<...>
</div>
</body>
代码笔: https ://codepen.io/MichaelBootstrap/pen/bGBEbYy
第一次尝试是
body *:not(table) table:not(.no_tab_margin) {
border: thin solid green; /* just to visualise it */
}
(我使用该类.no_tab_margin
来停止所有页面上的丑陋修复,我将布局更改为响应式)但是由于浏览器的从右到左分辨率,这仍然适用于所有表格。
如何更改 CSS 选择器以使其仅适用于外部表?
为了防止典型的答案:是的,可以,但是从内部表中覆盖/重置其他样式:
table:not(.no_tab_margin) {
border: thin solid green;
}
table table:not(.no_tab_margin) {
border: unset; /* all borders from all inner tables are gone */
}
如果我没有找到使用 CSS 的解决方案,我将编写一个小的 jQuery 脚本(在所有外部表上应用一个类),就可以了。
停止讨论嵌套表:是的,这已经过时了。但我现在不能改变它。该系统包含 500 多个由 PHP 生成的表单/页面。而且,是的 - 我将逐步删除它们(并使其全部响应),但这是我接下来 2-3 年的工作 - 不是开玩笑)。
嵌套列表 ( <ul><li><ul> ...
) 也是如此,因此不仅是旧系统的特殊问题。
解决方案
您可以添加一个类或一个 ID。并定义自定义样式
推荐阅读
- python - 通过旋转和平移将两个 PDF 文件合并为一页
- java - 为什么它没有得到任何数据?
- java - AWS Cognito 使用 spring security logoutSuccessHandler 注销
- javascript - 如何使用插值字符串作为 Javascript 关联数组中的键?
- java - 如何从 ArrayList [已解决] 打印特定项目
- python - Python3.7.4 - 导入熊猫库时出错
- python - GCP Jupyter Notebook 中的网络摄像头
- python - 在 Python 中为时间戳添加小时
- powershell - Powershell - 从数组中排除最后一条记录以获取连接
- java - 如何将参数/参数传递给回调函数?