HTML要素の幅を固定して、パディングを内側に取りたいときには、「box-sizing」プロパティでborder-boxに指定します。
1. 固定ヘッダーとサイドバーが重なって幅が取れない
ウェブページに固定ヘッダーを作ろうと思いました。
位置を position: fix
で固定します。
ところが、画面サイズによって幅の変わる左サイドバーがあったので、幅がうまくいきません。

サイドバーの幅の分だけ右にずらす(left
やpadding-left
)と、ヘッダーバー全体が画面から右にはみ出てしまいました。
left
ならともかく、padding-left
でもうまくいきません。
というのも、ヘッダーバーを画面に固定しているため、幅 width: 100%
の基準が画面幅になるからです。
パディングは外に付け足されるので、その分だけ外にはみ出てしまうのです。
2. box-sizingプロパティ
そこで探しみると、パディングを幅の内側にするプロパティ「box-sizing」が見つかりました1。
「box-sizing: border-box
」を選択すると、要素の幅はwidthで固定され、パディングは内側に取られます。
box-sizing: content-box; /* デフォルト値 */
box-sizing: border-box;
<style>
.searchbox-space {
height: 64px;
}
.searchbox-wrap {
position: fixed; /* ヘッダーを固定する */
top: 32px; /* 上部から配置の基準位置を決める */
left: 0px;
padding: 10px;
background-color: #f0f0f1;
opacity: 1;
z-index: 999;
padding-left: 172px;
border-bottom: 1px solid #aaa;
width: 100%;
height: 64px;
box-sizing: border-box;
}
.gcse-searchbox-only {
display: block;
background-color: #f0f0f1;
}
@media screen and (max-width: 960px){
.searchbox-wrap {
padding-left: 48px;
position: absolute;
}
}
@media screen and (max-width: 782px){
.searchbox-wrap {
top: 48px; /* 上部から配置の基準位置を決める */
padding-left: 0px;
height: 100px;
}
.searchbox-space {
height: 100px;
}
}
</style>
こちらもどうぞ。
![CocoonのSNSフォローボタンが大きかったので小さくした(border-radius)[CSS]](https://chiilabo.com/wp-content/uploads/2022/02/image-49-320x198.png)
CocoonのSNSフォローボタンが大きかったので小さくした(border-radius)[CSS]
ちいラボのブログ メンテナンス日記!今日は「フォローボタン」のデザインをおしゃれにしてみました。メモしておきます。環境WordPress 5.5.1 (Cocoon テーマ バージョン: 2.2.3.1)「SNSフォロー」ボタンを見つけたホームページのメンテナンスをしながら「Cocoon設定」を見ていたら、「SNSフォロー」ボタンがありました。さっそく表示させてみたところ、スマホでみると3行とだいぶ「目立ちすぎる」感じです。フォローボタンが5つもあると、ちょっと圧迫感がありま...
![[Cocoon]外部ブログカードのサイトアイコンを上に移動した【CSSのposition:absolute】](https://chiilabo.com/wp-content/uploads/2024/05/image-13-2-320x198.jpg)
[Cocoon]外部ブログカードのサイトアイコンを上に移動した【CSSのposition:absolute】
以前、funtions.phpでテンプレートを変更することで、ブログカードのデザインを変更しました。しかし、「デザインを変更するならCSS」ということで、改めて挑戦してみました。こんなふうに変えましたいつものようにビフォー・アフターをお見せします。↓こうなりました。HTML要素を変更せずにちゃんとCSSでデザインを変えられました。CSSコードはこちらポイントはblogcard-footer要素の位置をabsolute(絶対配置)にして、移動することです。親要素内に自由に配置で...
![[CSS] 記事一覧画面をスッキリさせた](https://chiilabo.com/wp-content/uploads/2022/05/image-28-10-320x198.jpg)
[CSS] 記事一覧画面をスッキリさせた
記事一覧のページで、記事ごとにオレンジ色の枠で囲んであるのが、ちょっとうるさい気がしたので、CSSを修正しました。/** 記事一覧画面をスッキリさせた*/ .list.ecb-entry-border .entry-card-wrap{ border-color: #e9e9e9; border-width: 0px; border-bottom-width: 1px; margin-bottom:20px; }.entry-card-content { padding-bo...
(補足)
QRコードを読み込むと、関連記事を確認できます。
![[CSS] 幅とパディングの関係【box-sizing】](https://api.qrserver.com/v1/create-qr-code/?data=?size=200x200&data=https%3A%2F%2Fchiilabo.com%2F2023-04%2Fcss-width-padding-box-sizing%2F)