0
タイトルで私の質問を徹底的に説明するのは難しかったので、私はその説明を明確にしようとします。 <div>
を使ってテーブルを構築し、意味<table>
を意図的に避けてCSSのプロパティdisplay: table
などを適用しています。 すべて問題なく動作していますが、現在はposition: fixed
を使用して固定ヘッダーを達成しようとしています。結果は次のとおりです。幅を変更して位置を固定しないようにする:fixed
Obliviouslyセルの残りの部分に適用されるdisplay: table-cell
このdesideratedない振る舞いを引き起こしています。セルは新しいコンテンツに適合し、CSSファイルに適用されたルールmin-width: 100px
に従うだけで自動リサイズされます。ここで
作業ペンへのリンク:https://codepen.io/l_core/pen/ZLQEjq
ヘッダと、純粋なCSSのアプローチと「体」は、細胞間の完全な位置合わせを達成するための方法はありますか?私はJSで幅を再計算しようとすることができましたが、これを実現するためのエレガントな方法があると確信しています。コードの下
:
HTML
<!-- Row Container -->
<div class="row-container" id="row1">
<!-- Header cell container -->
<div class="cell cell-header" id="cell1">
<!-- Cell content container -->
<div class="cell-content">
<span>Cell</span>
</div>
</div>
<div class="cell cell-header" id="cell2">
<div class="cell-content">
<span>Cell</span>
</div>
</div>
<div class="cell cell-header" id="cell3">
<div class="cell-content">
<span>Cell</span>
</div>
</div>
<div class="cell cell-header" id="cell4">
<div class="cell-content">
<span>Cell</span>
</div>
</div>
<div class="cell cell-header" id="cell5">
<div class="cell-content">
<span>Cell</span>
</div>
</div>
CSS
#row1 {
position: fixed;
}
私は完全なコードについて先に掲載のペンに見てみてください。私は彼の全身にそれを投稿することは良い考えであるか分からない。
を使用すると、 ''
あなたの答えは@Andrewに感謝します。私は意図的に意味のある '
答えて
固定要素は、通常のhtmlフローから外れています。したがって、あなたのテーブルヘッダーはもうテーブルの一部ではありません。 したがって、それらは独立して動作します。
min-widthではなく、すべてのセルに対して定数を設定することができます(JSを使用して動的に計算されます)。
出典
2017-01-11 12:41:52
あなたの答えをありがとう。私は一定の幅をCSS規則で設定しないようにしたい。あなたが "動的に計算"について話すとき、あなたはJS実装を指していますか? – Lc0rE
はい。最大幅を決定するには、セルの幅を取得する必要があります。 –
Flexをメインコンテナとして使用していると思います。 幅の問題を解決します。
とFlexの詳細、あなたが検索できます。
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
出典
2017-01-12 07:29:22
お返事ありがとうございます@Abhishek!私は現在、セルの幅を設定しているカスタムJSコードを使って解決しています。しかし、私はすぐにあなたのソリューションを試して、それが動作しているかどうかを確認します! – Lc0rE
関連する問題