質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

912閲覧

overflow-x: auto で疑似要素を横いっぱいに広げたい

takopo

総合スコア484

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2022/05/21 15:14

編集2022/05/21 15:15

質問させてください。
以下のようにボックスにoverflow-x: autoを指定して、要素内の文字がはみ出た場合横スクロールバーを出すようにしています。そしてその上から疑似要素をボックスに重ねています。

html

1<div class="box"> 2 テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト 3</div>

css

1.box { 2 position: relative; 3 overflow-x: auto; 4 white-space: nowrap; 5} 6 7.box::before { 8 content: ''; 9 position: absolute; 10 left: 0; 11 right: 0; 12 top: 0; 13 bottom: 0; 14 background-color: #cfc; 15}

このとき横スクロールバーを動かすと、疑似要素が元の画面サイズのまま途中で切れてしまうのですが、スクロールバー動かしても横いっぱいに広げる方法はありますでしょうか。
疑似要素にwidth: 100%overflow-x: auto;を追加してみたりしたのですが、上手くいきませんでした。
どなたか解決方法をご存じの方がいらっしゃいましたら、ご教示いただけると助かります。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

テキストをラップするのはどうでしょうか。

html

1 <div class="box"> 2 <div> 3 テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト 4 </div> 5 </div>

css

1 .box { 2 overflow-x: auto; 3 } 4 5 .box>div { 6 position: relative; 7 width: max-content; 8 white-space: nowrap; 9 } 10 11 .box>div::before { 12 content: ''; 13 position: absolute; 14 left: 0; 15 right: 0; 16 top: 0; 17 bottom: 0; 18 background-color: #cfc; 19 }

投稿2022/05/23 02:28

Lhankor_Mhy

総合スコア36074

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takopo

2022/05/23 17:27 編集

ご回答ありがとうございます。 max-contentという長さがあるのですね。こちらの方法で横いっぱいに広げることができました。 今回はJavascriptで作成してみたいと思っているのですが、こちらの方法も何かのときに使えそうなのでとても参考になりました。ありがとうございました。
guest

0

ベストアンサー

css

1.box::before { 2 content: ''; 3 position: absolute; 4 left: 0; 5 right: 0; 6 width: 10000%; 7 top: 0; 8 bottom: 0; 9 background-color: #cfc; 10}

css

1.box::before { 2 content: ''; 3 position: absolute; 4 left: 0; 5 right: -10000%; 6 top: 0; 7 bottom: 0; 8 background-color: #cfc; 9}

よく知りませんが、rightやwidthを100%以上に大きくするのはいかがでしょうか。
一案として回答します。

投稿2022/05/21 22:08

querykuma

総合スコア777

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takopo

2022/05/21 22:58

ご回答ありがとうございます。 こちら試してみたのですが、横スクロールバーが必要以上に長くなってしまいます…
takopo

2022/05/23 11:31 編集

stackoverflowのページをご紹介いただきありがとうございます。こちらの質問とほぼ同じでした。 おっしゃる通り画面幅でカバーするのはCSSだけでは難しいのですね… なので解決策に書かれているJavascriptの方法を試してみたいと思います。 とても助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問