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

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

ただいまの
回答率

90.34%

  • HTML

    9531questions

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

  • CSS3

    2206questions

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

width:70%;が効かない理由が分かりません

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 338

tanakashouzoux

score 22

googlemapを埋め込んで横幅をまとめてウィンドウの70%にしようと思い、cssに.maps-wrapper{
width:70%;}と書き、google chrome のコンソールで見てみたのですが、widthが反映されないようです
理由が分からなく困っております
詳しい方ご教示ください

<div class="maps-wrapper">
<div class="maps">
<iframe src="https://hoge" width="640" height="480"></iframe>
    </div>
<div class="maps">
<iframe src="https://hoge" width="640" height="480"></iframe>
    </div>
</div>
.maps-wrapper{
       width:70%;
}

.maps{
    position:relative;
    width:100%;
    padding-top:75%;
    height:0;
        overflow:hidden;
        margin:0 auto;
}

.maps iframe{
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
}
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2018/06/25 18:34

    回答が付いた質問の編集は慎重に行ってください。回答でタイプミスについての指摘がある場合は「直したこと」がわかるようにしてください。

    キャンセル

  • tanakashouzoux

    2018/06/26 10:23

    ご指摘頂きありがとうございます!タイプミスを直した旨、記載させて頂きましたm(__)m

    キャンセル

回答 3

checkベストアンサー

+3

掲載されているコードを丸コピーして確認してみましたけど、
普通に.maps-wrapperは70%で表示されてるようですよ?
上のコメントでbodyにwidth:100%;を設定する、とありますが、
その設定はしなくてもbody直下のブロックレベル要素はちゃんと親要素であるbodyの幅を
100%として認識して自身の幅を算出するようになってます。

Chromeコンソールでwidthが反映されてないようだとありますが、
それが勘違いだったりとか、あるいは掲載されているコード以外にも何かあって、
他のスタイル等が影響を及ぼして何か悪さしてるとかないですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/26 10:13

    わざわざご回答ありがとうございます!

    今朝bodyにwidth:100%;を追記する前に確認したらやはり.maps-wrapperのwidth:70%;が効いていなかったのですが、bodyにwidth:100%;を追記したらきちんと反映されました!!!

    なぜなんでしょうか・・・
    bootstrapで書いているんですが、.maps-wrapperの親要素はbodyで特段他のdivで包まれているとかいったことも無いのでbodyにwidth:100%;を追記しただけで修正されたのが不思議です・・・

    キャンセル

  • 2018/06/26 10:20

    あー、bootstrap使ってるんですね。
    あれはコンポーネントごとにいろんなスタイルがついてるので、
    body要素にどんなスタイルが適用されているのかとか、
    他のスタイルの影響を分析してみないとちょっとはっきりしたことは言えませんね。。

    試しにbootstrap使わずに、素のHTMLとCSSだけ掲載されているコードを書いて
    表示確認してみてください。bodyにwidth: 100%;つけなくても、直下のdivのwidthは
    普通に%指定できるはずですから。それが仕様どおりの挙動です。

    キャンセル

  • 2018/06/26 10:28

    bodyにwidth:100%;をつけたら子要素のwidth:70%;が効いたということは、
    現在お使いのフレームワークのファイル上ではbodyのwidthが無い状態になってることが予想されます。
    widthが無い状態になってる&widthの設定自体はできる、ということであれば、
    bodyにdisplay:inline-block / table / table-cell または position: absolute / fixed などが設定されてる可能性がありますね。
    これらの値が設定されると、要素のwidthを明示しない場合にコンテンツの内容物の幅にfitする状態となってしまい、子要素が自身の幅を%で算出する際の基準としてうまく機能しなくなってしまうと思います。

    まぁ、実際のソースコード見たわけじゃないのであくまで仕様的に考えられる項目を挙げただけですけど。

    キャンセル

  • 2018/06/26 10:28

    迅速なご回答をありがとうございます!
    bootstrapのbody直下に書いておりましたm(__)m
    そうですよね💦
    プログラミングは挫折→チャレンジの繰り返しでほとんど初心者で、詳しい方からするとくだらない質問だと思うのですがご丁寧にお答えいただきありがとうございます!

    素のHTML,CSSだけで早速書いてみたいと思いますm(__)m

    キャンセル

  • 2018/06/26 20:43

    わざわざご丁寧に想定される色々なケースまで考えてお答えいただくなんて・・・

    こんな上司の方がいたら仕事も楽しいんだろうな・・・と想像までしてしまいました

    本当にありがとうございますm(__)m
    御指導頂いた点を早速確認してみたいと思います!

    キャンセル

+1

max-wrapper ≠ .maps-wrapper

自分でつけたんでしょ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 17:59

    すいません💦maps-wrapperと記述してたんですがタイプミスしてしまいました💦

    キャンセル

  • 2018/06/25 18:04

    OK.
    それなら、width を設定した要素の親要素にwidth:100%を設定すれば良いでしょう。
    widthは親要素に対して何%であるかを定義します。

    キャンセル

  • 2018/06/25 18:07

    わざわざご回答頂きありがとうございますm(__)m
    maps-wrapperの親要素はbodyになるのですが、その場合はbodyに100%を指定すると宜しいのでしょうか?
    お忙しいとは思いますがご教示頂ければ幸いです

    キャンセル

  • 2018/06/25 18:12

    そういうこと。body に width: 100%つけるということ。
    https://saruwakakun.com/html-css/basic/width-height#section3

    この辺がわかりやすいかも

    キャンセル

  • 2018/06/25 18:16

    アドバイスに留まらず良記事のご紹介までわざわざありがとうございます。独学で勉強しておりまして、Kosuke_Shibuyaさんの様な偉大な先人に御指導頂けて本当にありがたいです。勉強するに当たって他に良書等ございましたらご教示頂けないでしょうか?一応一通り基本の書籍に目を通したつもりなのですが、なかなかこういった実践的な事には触れられていないと思いまして・・・

    キャンセル

  • 2018/06/25 18:17

    自分が学び始めたことの書籍なんてもう販売されてないです。かといって必要でもないので今の書籍は知りません。申し訳ない。

    キャンセル

  • 2018/06/26 10:17

    ご回答ありがとうございますm(__)m
    おかげさまで今朝bodyにwidth:100%;を追記したところ反映されました!!!

    ご教示頂いたサルワカの記事を拝読させて頂いたところ1つ疑問が浮かんだので質問させてください
    サルワカでは「width~%を指定した要素の親要素を遡っていった時、どの親要素にもwidthが指定されていないとウィンドウを基準にして計算する」とあったのですが、そうであればbodyにwidth:100%;を指定しなくてもwidth:70%;が反映されそうな気がするのですが、この考えは間違っているのでしょうか?

    キャンセル

  • 2018/06/26 15:20

    そう書いてあっても動かないんだから、指定するしかないのでは?

    キャンセル

+1

HTML上にはmax-wrapperというクラスはありますが、
maps-wrapperというクラスが記述されていません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 17:59

    すいません💦maps-wrapperと記述してたんですがタイプミスしてしまいました💦

    キャンセル

同じタグがついた質問を見る

  • HTML

    9531questions

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

  • CSS3

    2206questions

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