세로 CSS "writing-mode"가 테이블 탭에서 잘못되었을 때

7835 단어 CSS
검증 - iOS13.1.3, 브라우저: Chrome, Safari
※ 본 장치, 웹 사이트의 HTML, CSS 등의 구성에 따라 다음과 같진 않을 수 있습니다.

이런 디자인을 구현하고 싶어요.


스마트폰 디자인.

나는 왼쪽의th를 세로로 쓰고 싶다.
td용rowspan 또는colspan으로 합체한다.

1. 왼쪽의 th 태그를 세로로 배열


th 라벨에 직접 writing-mode 걸 수도 없습니다.
span 라벨로 span을 포위할 때 writing-mode 적합합니다.
writing-mode
https://developer.mozilla.org/ja/docs/Web/CSS/writing-mode
<tr>
    <th><span>縦書き</span></th>
</tr>
.table tr:not(:first-child) th span {
    writing-mode: vertical-lr;
}

2. 적응한 것 같지만 세로로 쓸 수는 없다



높이 (min-height) 를 지정하여th 라벨을 해결했습니다!
납작한 모양.
.table tr:not(:first-child) th {
    min-height: 3.6em;
}

모든 HTML 및 CSS


※ 일부 세부 사항 생략
<table class="table">
    <tr class="title">
        <td></td>
        <th>タイトル</th>
        <th>タイトル</th>
    </tr>
    <tr>
        <th><span>縦書き</span></th>
        <td rowspan="2" colspan="2">
            <strong>テキストが入ります</strong><br>
            <span>テキストテキストテキストテキストテキスト</span><br>
            <span>※ テキストが入ります。</span>
        </td>
    </tr>
    <tr>
        <th><span>縦書き</span></th>
    </tr>
</table>
.table {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-collapse: collapse;
    letter-spacing: .1em;
    margin: 0 0 20px;
}
.table th,
.table td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}
.table td {
    line-height: 1.8;
    padding: 20px 6%;
    text-align: center;
}
.title th {
    background: #efefef;
}
.table tr:first-child th {
    padding: 17px 2% 18px;
    width: 43%;
}
.table tr:not(:first-child) th {
    background: #e3e3e3;
    letter-spacing: .2em;
    min-height: 3.6em;
    padding: 1em 1%;
    width: 1.5em;
}
.table tr:not(:first-child) th span {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}

좋은 웹페이지 즐겨찾기