【スポンサーリンク】

[CSS] 幅とパディングの関係【box-sizing】

[CSS] 幅とパディングの関係【box-sizing】

HTML要素の幅を固定して、パディングを内側に取りたいときには、「box-sizing」プロパティでborder-boxに指定します。

\記事が役に立ったらシェアしてね/
キーワード

キーワード:#CSS(83)

【スポンサーリンク】

1. 固定ヘッダーとサイドバーが重なって幅が取れない

ウェブページに固定ヘッダーを作ろうと思いました。
位置を position: fixで固定します。

ところが、画面サイズによって幅の変わる左サイドバーがあったので、幅がうまくいきません。

固定ヘッダーとサイドバーが重なって幅が取れない

サイドバーの幅の分だけ右にずらす(leftpadding-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]
CocoonのSNSフォローボタンが大きかったので小さくした(border-radius)[CSS]
ちいラボのブログ メンテナンス日記!今日は「フォローボタン」のデザインをおしゃれにしてみました。メモしておきます。環境WordPress 5.5.1 (Cocoon テーマ バージョン: 2.2.3.1)「SNSフォロー」ボタンを見つけたホームページのメンテナンスをしながら「Cocoon設定」を見ていたら、「SNSフォロー」ボタンがありました。さっそく表示させてみたところ、スマホでみると3行とだいぶ「目立ちすぎる」感じです。フォローボタンが5つもあると、ちょっと圧迫感がありま...
[Cocoon]外部ブログカードのサイトアイコンを上に移動した【CSSのposition:absolute】
[Cocoon]外部ブログカードのサイトアイコンを上に移動した【CSSのposition:absolute】
以前、funtions.phpでテンプレートを変更することで、ブログカードのデザインを変更しました。しかし、「デザインを変更するならCSS」ということで、改めて挑戦してみました。こんなふうに変えましたいつものようにビフォー・アフターをお見せします。↓こうなりました。HTML要素を変更せずにちゃんとCSSでデザインを変えられました。CSSコードはこちらポイントはblogcard-footer要素の位置をabsolute(絶対配置)にして、移動することです。親要素内に自由に配置で...
[CSS] 記事一覧画面をスッキリさせた
[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...

(補足)

  1. paddingやborderが横幅(width)を広げてしまう事件を解決する方法 | hajipion.com
QRコードを読み込むと、関連記事を確認できます。

[CSS] 幅とパディングの関係【box-sizing】
【スポンサーリンク】
タイトルとURLをコピーしました