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

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

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

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

2回答

496閲覧

divの横幅に合わせてcssの切り替えをしたい

jun116

総合スコア11

div

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2021/09/01 04:03

【悩み事】
divの横幅に合わせてcssの切り替えをしたいです。
@media screenでウィンドウの幅に合わせてcssを切り替える方法ではなく、

divの幅に合わせてcssのfloatをrightたはinheritで変化できるようにしたいです。

【やりたいこと】
divがPCでみても横幅がスマホサイズになったり、PCに合わせて変更したりするので、ウィンドウの幅ではなくdivの幅で切り替えできるようにしたいです。

【できること】
JavaScriptは初心者で、調べでちょっとの書き換えであればできるのですがこちらが調べても@media screenしかでてこなかったので、質問させていただきました。

html

1<div class="kakunin box"> 2<p>テキスト</p><img class="kakunin_img right" src="img/item.jpg"> 3</div> 4 5<style> 6.box{display: flow-root;} 7 8img.box_img.right { 9float: right; 10max-width: 310px; 11} 12 13.box p { 14 font-size: 21px; 15 font-weight: bold; 16 padding-top: 70px; 17 line-height: 150px; 18color: #fff; 19 display: inline; 20} 21 22@media screen and (max-width: 768px) { 23img.box_img.right { 24 float: inherit; 25 max-width: 260px; 26 margin-top: 20px; 27 max-width: 100%; 28} 29</style>

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

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

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

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

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

guest

回答2

0

ベストアンサー

このJSを使うと要素の幅指定でスタイルを記述できるようです。
http://marcj.github.io/css-element-queries/

また、現在ほぼすべてのブラウザで未実装ですが、将来的にはコンテナクエリというもので
親要素の幅が一定値以上以下の場合子要素のスタイルを変更するという記述が可能になるようです。

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries

投稿2021/09/01 05:21

gogoweb_ikeda

総合スコア1426

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

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

jun116

2021/09/03 05:47

ありがとうございます! こちらのコードを使おうとしたのですが記述する部分がJS記述ができない場所でした、、 それ以外でまた機会がありましたら試してみたいです。 勉強になりました。ありがとうございます!
guest

0

offsetWidthをみて処理すればいいと思います
boxの幅が変わることで中身がかわると、またboxの幅が変わって
また中身がかわって・・・・という無限ループになりかねないのでは?

投稿2021/09/01 04:13

yambejp

総合スコア116724

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

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

jun116

2021/09/03 05:48

offsetWidthを知らずに調べて適用しようと思いましたが、記述部分がJSが記述するとエラーになってしまう場所でした、、 linkで外部読み込みもできなかったので、また機会がありましたらこちらも試してみます。 勉強になりました、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問