cssで上下左右中央揃え。
この画像のように、縦横揃えたい。
でも意外と難しくてうまくいかない。
そんなflexを使いこなせていないあなたにプレゼント。
<div id="weather-wrapper">
<div id="weather1" class="weather-container">
<div class="w33 centering">
<div class="ma">hoge</div>
</div>
<div class="w33 centering">
<img class="w100 ma" src="hoge.png" alt="心は晴れてます">
</div>
<div class="w33 centering">
<div class="ma" style="color: #c5c5c5;">hoge</div>
</div>
</div>
<div id="weather2" class="weather-container">
<div class="w33 centering">
<div class="ma">hoge</div>
</div>
<div class="w33 centering">
<img class="w100 ma" src="hoge.png" alt="心は晴れてます">
</div>
<div class="w33 centering">
<div class="ma" style="color: #c5c5c5;">hoge</div>
</div>
</div>
</div>
.w100{width: 100%;}
.w33{width: 33%;}
.ma{margin: auto;}
#weather-wrapper{
display: flex;
justify-content: space-between;
align-items: center;
max-width: 440px;
width: 100%;
margin: auto;
margin-bottom: 15px;
}
.weather-container{
background-color: white;
text-align: center;
max-width: 212px;
height: 80px;
width: 100%;
border-radius: 8px;
display: flex;
justify-content: space-between;
}
.centering{
display: flex;
align-items: center;
}
weather-containerにitemが3個あるため各itemのwidthを33%に設定。
もしも4個であれば25%、5個であれば20%。
慣れるまでは難しいかもしれないが、上からweather-wrapper、weather-container、centeringと3つ連続でflexを使う必要があり、justify-content: space-between、align-items: centerを使うことできれいに揃えることができる。
なお説明は省くが、この場合text-align: centerは使っても効かないのでmargin: autoとなる。
Author And Source
この問題について(cssで上下左右中央揃え。), 我々は、より多くの情報をここで見つけました https://qiita.com/popo62520908/items/5aec0c6622e3ea18ea21著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .