私は、3つのステップとサンプルコードブロックと簡単な説明で簡単な説明ページを作成しようとしています。 codepen hereに行くと、私が何を話しているのかがわかります(私も以下のコードを再現しました)。フレックスボックス内でテキストオーバーフローが発生する
3つのステップがあり、各ステップのHTML/CSS構造は同じです。ただし、内容の一部が異なる場合があります。コードペンを見ると、第1ステップと第3ステップが比較的よく見えることがわかります。しかし何らかの理由でコードブロックが異なる幅に広がってしまいます。
- これは問題番号1です。 3つのステップすべてでコードブロック(つまり
<div class="code">
)の長さが同じになるようにするにはどうすればよいですか?
第二の問題は、私がoverflow-x: scroll
とwidth: 100%
を設定しているにもかかわらず、その親のdivのいくつかの外のステップ2オーバーフローのためのコードブロックということです。理想的には、コードブロック内のコードを左右にスクロールできるようにしながら、コードブロックの幅を他の2つと同じにしたいと考えています。
- これは2番の問題です。フレックスボックス内のdivは、親の外側でオーバーフローしないように制約すると同時に、直接の親div内でスクロールすることができます。
私の説明が十分であることを望みます。 Flexboxの癖にまだ慣れていないので、これを説明するのは非常に難しいです。 codepenを見てください、私はそれがはるかに明確になると確信しています。
ありがとうございました。私に明確にする必要がある他のものをお知らせください。
HTML:
<div class="container">
<div class="step">
<div class="number">1</div>
<div class="step-body">
<div class="description">This is a description of the terminal code block below:</div>
<div class="code"><pre>npm install foo bar</pre></div>
</div>
</div>
<div class="step">
<div class="number">2</div>
<div class="step-body">
<div class="description">This is a description of the very very very long single-line code block below:</div>
<div class="code"><pre>foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo bar</pre></div>
</div>
</div>
<div class="step">
<div class="number">3</div>
<div class="step-body">
<div class="description">This is a description of the JSON code block below:</div>
<div class="code"><pre>{
"custom": {
"key": "a1b2c3d4e5f6"
}
}</pre></div>
</div>
</div>
</div>
CSS:
body {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
position: absolute;
}
.container {
max-width: 50%;
}
.step {
display: flex;
border: 1px solid red;
}
.number {
font-size: 2.5rem;
text-align: right;
flex-shrink: 0;
margin-right: 1rem;
width: 3rem;
}
.step-body {
padding-top: 1rem;
padding-bottom: 1rem;
}
.code {
background-color: black;
color: white;
width: 100%;
padding: 12px;
overflow-x: scroll;
}
は、例えば 'オーバーフローを行います。スクロールします。 width:400px; 'あなたのために働く? .codeクラスで。これはあなたが欲しいものですか? – Apostolos
@Apostolos私は応答を感謝しますが、私はハードな設定ができないので、私のためには機能しません。私はフレックスボックスの全体的なポイントは、(私は手動の計算を行うことなく)流体のレイアウトを持つことができたと思った。残念ながら、これはしません。 – adrianmc
したがって、幅をパーセンテージで定義すると、これらの3つのブロックはどのように等しくなるでしょうか?つまり、これは本当に達成可能ですか?それは変だ – Apostolos