In IE 11 th Tag des nach Pseudoelement nicht richtig funktioniert
table {
border-top: 1px solid #000;
border-collapse: collapse;
width: 100%;
}
tr, th, td {
border-bottom: 1px solid #000;
}
th {
padding: 30px;
position: relative;
text-align: left;
width: 30%;
}
th:after {
background: #000;
bottom: 30px;
content: '';
display: block;
position: absolute;
right: 0;
top: 30px;
width: 1px;
}
td {
padding: 30px;
position: relative;
}
th + td:before {
background: #000;
bottom: 30px;
content: '';
display: block;
position: absolute;
left: -1px;
top: 30px;
width: 1px;
}
<table>
<tr>
<th>Line</th>
<td>Line</td>
</tr>
<tr>
<th>Line<br>Line<br>Line</th>
<td>Line</td>
</tr>
<tr>
<th>Line</th>
<td>Line<br>Line<br>Line</td>
</tr>
<!-- new problem arise -->
<tr>
<th rowspan="2">Line</th>
<td>Line</td>
</tr>
<tr>
<td>Line</td>
</tr>
</table>
Ich möchte für th
Tag den rechten Rand haben, mit einigen sogar Lücken sowohl in oben und unten. Wie ich im Titel gesagt habe, verwende ich after
Pseudo-Element für th
Tag und es funktioniert nicht in IE 11. Bitte beachten Sie Code für Detail-Bug beigefügt.
Kann mir jemand irgendeine Lösung für dieses Problem vorschlagen?
Vielen Dank im Voraus!
aktualisieren
I @Mr Lister-Lösung umgesetzt und es hat gut funktioniert mit einreihigen th
+ td
-Tag.
Ein weiterer Fehler ist, dass, wenn ich th
mit rowspan
verwendet, und das Verhalten in IE 11 ist wieder einmal gebrochen. Könnten Sie mir bitte helfen, dieses Problem gründlich zu lösen?
Vielen Dank im Voraus!
Vielen Dank für Ihren Vorschlag! Es hat gut funktioniert. Es gibt jedoch einen anderen Fehler, bei dem ich 'rowspan' verwende. Bitte sehen Sie die aktualisierte Version oben und ich hoffe, dass Sie mir helfen würden, diesen Fehler zu beheben. –
@TylerBean Pfff, wie ich schon sagte, ich habe keine echte Lösung; Dies war nur ein Workaround. Ich muss darüber nachdenken. –
Ich fand die "bessere" Problemumgehung: D. Die legendäre 'position: absolute' mit extra tag in' th' und etwas Hilfe von jquery zu benutzen und es hat jetzt perfekt funktioniert. –