dl dt dd を使用した表組み(レスポンシブ対応)

float と flexbox を使用したテーブル風表組みの作り方

 

HTMLの基本形

<dl>
	<dt>項目</dt>
	<dd>内容</dd>
</dl>

 

floatを使用した書き方

dl {
    dt {
        clear: left;
        float: left;
        width: 12em;
        padding: 0.5em 0;
        font-weight:bold;
        @include xs {
        clear: both;
             float: none;
             width: 100%;
             padding: 0.5em 0 0;
         }
    }
    dd {
        margin-left: 0;
        padding: 0.5em 0 0.5em 12em;
        border-bottom: 1px dashed #999;
        @include xs {
            padding: 0 0 0.5em;
         }
    }
}

 

flexboxを使用した書き方

dl {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    border-top: none;
    @include xs {
        flex-flow: column nowrap;
    }
    dt {
        background: #ddd;
        width: 10em;
        padding: 1em 0.5em;
        box-sizing: border-box;
        border-top: 1px solid #ccc;
        @include xs {
            width: 100%;
        }
    }
    dd {
        padding: 1em 0.5em;
        margin: 0;
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
        width: calc(100% - 10em);
        background: #fff;
        box-sizing: border-box;
        @include xs {
            width: 100%;
            border-left: none;
        }
    }
}