左側にタブナビゲーションがあり、上から下に表示されるタブを探しています。とにかくこれはAngularマテリアルライブラリで達成できますか?
このcodepen by Rahul Sagore バニラマテリアルを使用していますが、Angular専用ではありませんが、まさにあなたが望むものです。私はあなたと同じものを探していました。マテリアルがこれを提供していないのは残念ですが、それがどのように彼らの原則に反し、マテリアルを広範にしすぎるかはわかります。
これは、カスタムcss(おそらくオーバーライドしますが、よくわかりません)と特定のMaterialクラス名の使用で構成されます。以下に、コンテンツをスニペットに貼り付けました。
mdl-cell--n-col
クラスに問題があったため、コンテンツを10-col
から6-col
に変更して、この投稿の制限されたスペースのタブの下にコンテンツがラップされないようにしました。あなたはおそらくそれを自分でいじくり回すか、それを廃棄してあなたが知っている方法でマテリアルスタイルを使用する必要があるでしょう。同様に、.hollow-circle
スパンが何をしているのかわからないので、おそらくそれらは必要ありません。
/*Vertical Tabs*/
.vertical-mdl-tabs {
margin-top: 30px;
}
.vertical-mdl-tabs .mdl-tabs__tab-bar {
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-bottom: 35px;
height: inherit;
border-bottom: none;
border-right: 1px solid rgba(10, 11, 49, 0.20);
}
.vertical-mdl-tabs .mdl-tabs__tab {
width: 100%;
height: 35px;
line-height: 35px;
box-sizing: border-box;
letter-spacing: 2px;
}
.vertical-mdl-tabs.mdl-tabs.is-upgraded a.mdl-tabs__tab.is-active {
border-right: 2px solid #ED462F;
}
.vertical-mdl-tabs.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after {
content: inherit;
height: 0;
}
.vertical-mdl-tabs.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active, .mdl-tabs__panel {
padding: 0 30px;
}
.vertical-mdl-tabs.mdl-tabs .mdl-tabs__tab {
text-align: left;
}
<script src="https://storage.googleapis.com/code.getmdl.io/1.1.0/material.min.js"></script>
<link href="https://storage.googleapis.com/code.getmdl.io/1.1.0/material.Indigo-pink.min.css" rel="stylesheet"/>
<div class="mdl-tabs vertical-mdl-tabs mdl-js-tabs mdl-js-ripple-effect">
<div class="mdl-grid mdl-grid--no-spacing">
<div class="mdl-cell mdl-cell--2-col">
<div class="mdl-tabs__tab-bar">
<a href="#tab1-panel" class="mdl-tabs__tab is-active">
<span class="hollow-circle"></span>
Tab 1
</a>
<a href="#tab2-panel" class="mdl-tabs__tab">
<span class="hollow-circle"></span>
Tab 2
</a>
<a href="#tab3-panel" class="mdl-tabs__tab">
<span class="hollow-circle"></span>
Tab 3
</a>
</div>
</div>
<div class="mdl-cell mdl-cell--6-col">
<div class="mdl-tabs__panel is-active" id="tab1-panel">
Content 1
</div>
<div class="mdl-tabs__panel" id="tab2-panel">
Content 2
</div>
<div class="mdl-tabs__panel" id="tab3-panel">
Content 3
</div>
</div>
</div>
</div>
mat-tab-groupにvertical属性を追加し、ページに次のcssを追加することで、垂直タブを作成できます。
mat-tab-group[vertical] .mat-tab-labels {
display: flex;
flex-direction: column!important;
}
mat-tab-group[vertical] {
display: flex;
flex-direction: row!important;
}
これがvertical属性を持つmat-tab-group要素です
<mat-tab-group flex="1" vertical>
<mat-tab label="Tab 1"> Loading ... </mat-tab>
<mat-tab label="Tab 2" > Loading ... </mat-tab>
</mat-tab-group>