本記事ではボタンのスタイルで
line-height: 50px;
ボタンの文字が上下中央にこない
もうちょっと具体的に見ていきましょう。
例えば普通は以下のようにstyle.cssに記述すれば上下中央配置になります。(テキストエディタに<div class=”cocoon_btn_dame”>BTN</div>を設置しておく。)
1 2 3 4 5 6 7 8 9 10 11 |
.cocoon_btn_dame { border: 5px solid #000; margin: 50px; padding: 20px; background: green; color: #fff; width: 100px; text-align: center; height: 50px; line-height: 50px; } |
「width」が幅で「text-align: center;」でが左右中央に配置されます。
「height」が高さで「line-height: 50px;」が行高のことで、つまりは「height」と「line-height」の値を同じにすれば上下中央配置になる、のはWeb界隈では多分常識的なはず。
本来
のようになるはずです。
しかしWordPressテーマ「cocoon」を使っているとなぜだか
こんなふうに中の文字が真ん中より少し下に位置してしまいます。
ちょっと困っているので、原因を探していきます。
全然わからない
調べてみたんですが、完全に僕のパワー不足です。全く分かりません。
でも、もしや?!とおもって<a>タグにしてみると
比較的マシになりました。
ということは、おそらく<div>にスタイルが設定されている?ということですかね。
全く分かりません。
試しに<span>タグにしてみましょう。
BTN
いい感じです。やっぱり<div>タグに問題がある感じですかね。
改めて見ると、<div>タグは幅(width)も違いますね・・・。
これはきっとcocoonのスタイルシートに<div>タグに関する何らかのCSSが書き込まれているに違いない!
ってことで見てみることにしました。
cocoonのオリジナルボタン
そういえば、cocoonが用意してくれているボタンもありましたね。
このボタンは<a>タグなんですが、試しにこれを<div>タグに変えてみましょう。
さあ、なぜなんでしょうか。全く分かりません。
cocoonのスタイルシート(style.css)
cocoon備え付けのボタンがなぜちゃんと表示されているかを見てみましょう。
メニューの「外観」→「テーマの編集」→Cocoon:スタイルシート(style.css)
この中でbtnクラスとbtn-indigoクラスを検索してみたら何かいいことありそうです。
先にbtn-indigoクラスを調べてみました。
1 2 3 |
.btn-indigo { background-color: #3f51b5; } |
背景色の設定だけなので、やはりbtnクラスに何か鍵があるんでしょうか・・・。
btnクラス↓↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
.btn, .ranking-item-link-buttons a { color: #fff; font-weight: bold; margin: 1em; border-radius: 4px; display: inline-block; cursor: pointer; line-height: normal; padding: 10px 16px; text-decoration: none; text-align: center; font-size: 14px; border: 2px solid transparent; position: relative; } .btn:before, .ranking-item-link-buttons a:before, .btn:after, .ranking-item-link-buttons a:after { font-family: FontAwesome; margin-right: 12px; } |
これと同じ様に自分でボタンを作ればちゃんと表示される、ということですね。
でも僕が作ったボタン(divタグだけど)のデザインがなぜ崩れるかはわかっていません。
ボタンはCocoonのボタンを使えばいいじゃんって思うじゃないですか。
そうじゃないんですよ、そもそもCocoonのWordPressカスタマイズいろいろしていこうかなーなんて思ってたんです。でもボックス(ボタン)デザインごときで躓いちゃってたらもう全然だめじゃないですかー。
もう根本的な何かが何かなんでしょうか。
すみません、心折れました。
どうすればよいのか
わかりません。誰かわかる人いまてんかー.
コメント