2017-11-05 5 views
0

私は両方のタブを中央に置き、縦の高さの半分を取ろうとしています。どのようにこれを行うにはどのようなアイデア?CSSを90度回転させる*縦書きのテキストタブが中央にならない - フレックスボックスの使用

enter image description here

あなたが気付いた場合、DIVは「タブ1」を開催し、「タブ2」は、完全な幅に取っていないが、私はheight: 100%を使ってきたし、それはそれを修正しない表示されます。また、「Tab 1」と「Tab 2」の両方にheight: 50%を追加しましたが、各タブはページの高さの50%を占めることになります。 height: 25%を使用するとほとんど動作しますが、高さはページから外れます。

return (
    <div className='flexbox-parent-console overflow-hidden'> 
     <div className='b--light-gray bw2 b--solid w275p bg-white pa2 overflow-auto'> 
      <SocialPostExamplesArray /> 
     </div> 
     <div className='flex-column bg-gray w25p content-around self-center'> 
      <div className='post-side-tab-chosen vertical-lr'>Tab 1</div> 
      <div className='post-side-tab vertical-lr'>Tab 2</div> 
     </div> 
    </div> 
) 

CSS:私はあなたの以前の質問のスニペットを使用し、それに2つのタブが追加されている

.flexbox-parent-console { 
    width: 100%; 
    height: 100%; 
    display: flex; 
    flex-direction: row; 
    justify-content: flex-start; 
    align-items: stretch; 
    align-content: stretch; 
} 
.self-center { 
    -ms-flex-item-align: center; 
    align-self: center 
} 
.content-around { 
     -ms-flex-line-pack: distribute; 
     align-content: space-around 
} 
.flex-column { 
     -webkit-box-orient: vertical; 
     -webkit-box-direction: normal; 
     -ms-flex-direction: column; 
     flex-direction: column 
} 
.overflow-hidden { 
    overflow: hidden 
} 
.overflow-auto { 
    overflow: auto; 
} 
.vertical-lr { 
    -webkit-writing-mode: vertical-lr; 
    writing-mode: vertical-lr; 
    writing-mode: tb-lr; 
    transform: scale(-1, -1); 
    text-align: center; 
    width: 25px; 
    line-height: 25px; 
    font-weight: bold; 
    font-variant: small-caps; 
} 

非エッセンシャル

.b--light-gray { 
    border-color: #eee 
} 
.bg-black-10 { 
    background-color: rgba(0, 0, 0, .1) 
} 
.bw2 { 
    border-width: .25rem 
} 
.b--solid { 
    border-style: solid 
} 
.pa2 { 
    padding: .5rem 
} 

答えて

1

は、JSファイルを反応します。あなたの.self-centerクラスがあなたのspace-aroundを上書きします) 1: は、CSS側では、私はあなたが接近しているが、ここでは二つの小さな問題があるフレックスボックス

/* update*/ 
 

 

 
.post-side-tab-chosen { 
 
flex:1; 
 
background:gray; 
 
padding: 1em 0; 
 
} 
 
.post-side-tab { 
 
flex:1; 
 
background:tomato; 
 
padding: 1em 0; 
 
} 
 
/* end update */ 
 

 

 
.vertical-lr { 
 

 
    -webkit-writing-mode: vertical-lr; 
 
    /* old Win safari */ 
 
    writing-mode: vertical-lr; 
 
    writing-mode: tb-lr; 
 
    /* actually 
 
    writing-mode:sideways-lr; would be the one , but not avalaible everywhere so, let's transform */ 
 
    transform: scale(-1, -1); 
 
    background: green; 
 
    text-align: center; 
 
    width: 1.5em; 
 
    line-height: 1.5em; 
 
    font-weight: bold; 
 
    font-variant: small-caps; 
 
} 
 

 
.flex { 
 
    display: flex; 
 
} 
 
/* did you mean this ? */ 
 

 
* { 
 
    box-sizing: border-box; 
 
} 
 

 
html, 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
    padding: 0.5em; 
 
} 
 

 
.fill-area-content { 
 
    overflow: auto; 
 
    flex: 1; 
 
    height: 100%; 
 
} 
 

 
/* your code */ 
 
.flexbox-parent-console { 
 
    width: 100%; 
 
    height: 100%; 
 
    display: flex; 
 
    flex-direction: row; 
 
    justify-content: flex-start; 
 
    /* align items in Main Axis */ 
 
    align-items: stretch; 
 
    /* align items in Cross Axis */ 
 
    align-content: stretch; 
 
    /* Extra space in Cross Axis */ 
 
} 
 

 
.self-center {} 
 

 
.overflow-hidden { 
 
    overflow: hidden 
 
} 
 

 
.rotateddiv { 
 
    width 300px; 
 
    height: 24px; 
 
    text-align: center; 
 
    background: green; 
 
} 
 

 
.b--light-gray { 
 
    border-color: #eee 
 
} 
 

 
.bg-black-10 { 
 
    background-color: rgba(0, 0, 0, .1) 
 
} 
 

 
.bw2 { 
 
    border-width: .25rem 
 
} 
 

 
.b--solid { 
 
    border-style: solid 
 
} 
 

 
.pa2 { 
 
    padding: .5rem 
 
}
<div class='flexbox-parent-console overflow-hidden'> 
 
    <div class='b--light-gray bw2 b--solid w275p bg-white pa2 fill-area-content'> 
 
    <ul> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
     <li>item</li> 
 
    </ul> 
 
    </div> 
 
    <div class='bg-black-10 w25p flex bg-light-gray'> 
 
    <div class=' flex vertical-lr'><!-- updated html --> 
 
      <div class='post-side-tab-chosen'>Tab 1</div> 
 
      <div class='post-side-tab'>Tab 2</div><!-- end update --> 
 
    </div> 
 
    </div> 
 
</div>

1

も垂直-LRのコンテナを作りましたアライメント 2).flex-columndisplay: flexを追加してフレックスボックスにする必要があります。

希望します。

codepen

関連する問題