ホームページ > ウェブフロントエンド > CSSチュートリアル > 不要なスペースを入れずにインラインブロック要素を両端揃えにするにはどうすればよいですか?

不要なスペースを入れずにインラインブロック要素を両端揃えにするにはどうすればよいですか?

DDD
リリース: 2024-11-28 09:04:12
オリジナル
914 人が閲覧しました

How Can I Justify Inline-Block Elements Without Unwanted Spacing?

「text-align: justify」によるインライン要素の整列

「text-align: justify」を使用してインラインブロック要素を均等に整列させようとした以前の試みにもかかわらず、永続的な問題が発生します。ブラウザは、インラインブロックの行をクリアする幅 100% の要素の後に空の垂直スペースを追加します。

line-height: 0 を使用しない解決策を求めて、空のスペースは削除されますが、元の行の高さは破棄され、潜在的な代替案を検討します。

現在の回避策 (IE8 、 FF、Chrome テスト済み)

(フィドルを参照: https://jsfiddle.net/jasperdeGroot/xe27o/)

CSS:

.prevNext {
    text-align: justify;
}

.prevNext a {
    display: inline-block;
    position: relative;
    top: 1.2em; /* line-height */
}

.prevNext:before{
    content: '';
    display: block;
    width: 100%;
    margin-bottom: -1.2em; /* line-height */
}

.prevNext:after {
    content: '';
    display: inline-block;
    width: 100%;
}
ログイン後にコピー

説明:

この回避策では、負の下マージンを持つ :before 擬似要素を利用してテキストを移動します。余分な線を削除します。次に、インライン ブロック要素は、この位置ずれを補正するために、position:relative で調整されます。

将来の解決策

完全なサポートが待っている有望な解決策は、「」の使用です。 text-align-last: justify」は、回避策を必要とせずにインライン要素を両端揃えにします。ただし、現時点では Webkit ブラウザで実験的な機能を有効にする必要があり、アクセシビリティが制限されています。

(フィドルを参照: https://jsfiddle.net/jasperdeGroot/c3r4w/)

CSS:

.prevNext {
    text-align: justify;
    text-align-last: justify; /* IE */
}
ログイン後にコピー

注: このソリューションは適切ではない可能性があります完全なサポートが実装されるまで、すべてのブラウザで使用できます。

以上が不要なスペースを入れずにインラインブロック要素を両端揃えにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート