現在ECサイトを模写しています。
aタグをボタンのような表示にするためにdisplay: inline-block;としました。
heightとwidthを指定し、中のテキストも中央揃えにしたかったため、line-heightをheightの数値に合わせ高さを中央揃えにしました。
横幅の範囲内でも中央揃えにするためinline-blockになったaタグに直接text-align: center;を指定したところ、中央揃えになりました。
後々「text-alignはブロック要素に指定するものでは?」と気付きました。
確認のためにtext-alignを消すと左揃えに戻ってしまうので、やはりこれが効いているのだと思います。
今回のコードではなぜインラインブロック要素に直接指定したのにもかかわらず、text-alignが効いたのでしょうか?
色々調べましたが、インラインブロック要素を中央揃えにする場合は親要素(ブロック要素)でインラインブロック要素を囲んで、その親要素にtext-alignを指定するという情報しか見つかりませんでした。
はじめからaタグをblock要素にすれば良かったのですが、選択の基準がわからずinline-blockにしていました。
なぜ今回は中央揃えになったのか理解ができず、理由を教えてもらえると助かります。
よろしくお願いいたします。
HTML
1<a class="btn" href="#">ADD TO CART</a>
CSS
1a { 2 text-decoration: none; 3 color: #333; 4 display: inline-block; 5} 6 7.btn { 8 background-color: rgb(85, 84, 84); 9 width: 100%; 10 height: 50px; 11 line-height: 50px; 12 text-align: center; 13 color: white; 14}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/08 13:02
2021/11/09 00:58
2021/11/09 01:10