CSS class 具有嵌套元素
CSS class with nested elements
我想仅在特定 class 中将 table 元素显示为块,而不是在 table 的每个子元素上使用 class。
我尝试过的:
@media only screen and (max-width: 650px)
{
.contactform
{
table, thead, tbody, th, td, tr {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>
为了避免在 table 中的每个 'sub-element' 上使用 class,您可以使用 :is()
伪 class 来定位您的某些后代给定 class.
一个问题是默认情况下浏览器样式 table 元素...作为 table。所以你可能不得不改变你的媒体查询
@media only screen and (min-width: 650px) {
.contactform,
.contactform :is(table, thead, tbody, th, td, tr) {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>
或者最好 browser compatibility:
@media only screen and (min-width: 650px) {
.contactform,
.contactform table,
.contactform thead,
.contactform tbody,
.contactform th,
.contactform td,
.contactform tr {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>
我想仅在特定 class 中将 table 元素显示为块,而不是在 table 的每个子元素上使用 class。
我尝试过的:
@media only screen and (max-width: 650px)
{
.contactform
{
table, thead, tbody, th, td, tr {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>
为了避免在 table 中的每个 'sub-element' 上使用 class,您可以使用 :is()
伪 class 来定位您的某些后代给定 class.
一个问题是默认情况下浏览器样式 table 元素...作为 table。所以你可能不得不改变你的媒体查询
@media only screen and (min-width: 650px) {
.contactform,
.contactform :is(table, thead, tbody, th, td, tr) {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>
或者最好 browser compatibility:
@media only screen and (min-width: 650px) {
.contactform,
.contactform table,
.contactform thead,
.contactform tbody,
.contactform th,
.contactform td,
.contactform tr {
display: block;
}
}
<table class="contactform">
<tr>
<td>
<label> First Name </label>
</td>
<td>
<label> Last Name </label>
</td>
</tr>
<tr>
<td>
<label> E-Mail </label>
</td>
<td>
<label> Phone </label>
</td>
</tr>
</table>