<p> テキストを div の外側ではなく下に移動させる方法
P粉461599845
2023-08-17 18:58:37
<p>こんにちは、カード スライダーに問題があります。<code><p></code> タグが範囲外になり続けますが、長い説明に合わせて下にスライドさせたいのです。全文、 それ、どうやったら出来るの? </p>
<p>長いテキストを使用すると、テキストが区切り文字の外側に出てしまいますが、区切り文字の内側に留まりたいのです</p>
<p><code>word-wrap:break-word;</code> を使用してみましたが、うまくいきませんでした</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">div.scroll-container {
背景色: #7289da;
ホワイトスペース: ナラップ;
パディング: 10px;
オーバーフロー-x: スクロール;
オーバーフロー-y: 非表示;
-webkit-overflow-scrolling:タッチ;
}
.card {
フロート: なし。
表示: インラインブロック;
ズーム: 1;
パディング: 10px;
幅: 375ピクセル;
高さ: 525ピクセル;
}
。容器 {
パディング: 2px 16px;
背景色: #fff;
色: #000;
高さ: 200ピクセル;
}
.container p {
色: #000;
フォントサイズ: 20px;
}</pre>
<pre class="brush:html;toolbar:false;"><div class="scroll-container" id="cardslist">
<div class="カード">
<img src="icon.png" alt="アバター" style="width:100%">
<div class="コンテナ">
<h4><b>ジョン・ドゥ</b></h4>
<p>建築家兼エンジニアjifnnjknhbgvfdfcgvhbjnkmmnbgvfd</p>
</div>
</div>
<div class="カード">
<img src="icon.png" alt="アバター" style="width:100%">
<div class="コンテナ">
<h4><b>ジョン・ドゥ</b></h4>
<p>アーキテクト兼エンジニア</p>
</div>
</div>
<div class="カード">
<img src="icon.png" alt="アバター" style="width:100%">
<div class="コンテナ">
<h4><b>ジョン・ドゥ</b></h4>
<p>アーキテクト兼エンジニア</p>
</div>
</div>
<div class="カード">
<img src="icon.png" alt="アバター" style="width:100%">
<div class="コンテナ">
<h4><b>ジョン・ドゥ</b></h4>
<p>アーキテクト兼エンジニア</p>
</div>
</div>
</div></pre>
<p><br /></p>
これは、
.scrollable
親要素でwhite-space: nowrap;
を使用したためです。この設定を削除し、.card
でword-break:break-word;
を設定すると、テキストは正しく折り返されます。ただし、複数の要素を同じ行に収めるために
nowrap
に明らかに依存しているため、これではレイアウトが壊れます。フレックスボックスレイアウトを使用してみてください。よりシンプルで、必要なコードも少なくなります。
CSS プロパティ
white-space: nowrap
div.scroll-container
でスペースが折り返されないようにします。 Mozilla には、この CSS プロパティに関するデモ demo があります。考えられる修正は、
container
クラスの値を明示的にnormal
に戻すことです。ダミー コンテンツにはかなり長い単語が含まれているため、それでもオーバーフローします。
container
クラスでword-wrap:break-word;
を使用すると、この問題を解決することもできます。編集: コメントで @j08691 によって指摘されたとおり:
これはコードの更新された部分です: