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

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

ただいまの
回答率

89.19%

ウィンドウ幅に合わせて箱の並びを変えたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,264

kolon.m

score 65

説明不足で大変申し訳ないです。
私は今このようなページを作ろうと思っているのですが(目標

body内


  <div class="article">
      <div class="a1">
      </div>
      <div class="a2">
      </div>
      <div class="a3">
      </div>
      <div class="a4">
      </div>
      <div class="a5">
      </div>
 </div>
.article {
  height: 100%;
  width: 95%;
}
.a1 {
  background-color: #000;
  margin: 10px;
  width: 300px;
  height: 300px;
  float: left;
}
.a2 {
  background-color: #000;
  margin: 10px;
  width: 300px;
  height: 300px;
  float: left;
}
.a3 {
  background-color: #000;
  margin: 10px;
  width: 300px;
  height: 300px;
  float: left;
}
.a4 {
  background-color: #000;
  margin: 10px;
  width: 300px;
  height: 300px;
  float: left;
}
.a5 {
  background-color: #000;
  margin: 10px;
  width: 300px;
  height: 300px;
  float: left;
}


簡単なので、ここまでは自分で出来るのですが、ここから、どうすれば良いか分からないです。どなたか、助言等くれないでしょうか?

現在の改善点(見落としがあるかも)
1、ウィンドウ幅を変えて箱が下に回り込んだときに残りの箱でその隙間を埋める(目標のページでウィンドウ幅を変えて頂ければ わかると思います)
2、箱にフォーカスした時の挙動※画像の収縮は不要(目標のページでウィンドウ幅を変えて頂ければ わかると思います)

特に改善点1を重点的に改善したいです。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+2

該当のページはCSS の @media タグを利用し、レスポンシブデザインという手法をとっております。

各々のコンテンツのサイズを計算し、「ウィンドウ幅を変えて箱が下に回り込んだとき」となるウィンドウ幅になった場合のCSSを別途記述することになります。

<style>
/* 
 * 「ウィンドウ幅を変えて箱が下に回り込んだとき」となる 
 * width を計算し、max-width に設定する (例として 900px としております)
 */
@media screen and (max-width: 900px) {
  /* 「ウィンドウ幅を変えて箱が下に回り込んだとき」のCSSを記述 */
  .a1 {
    width:200px !important;
  }
  .a2 {
    background: #F90;
  }
  /* 「ウィンドウ幅を変えて箱が下に回り込んだとき」の CSS はここまでに記載 */
}
</style>
  • 参考
    http://coliss.com/articles/build-websites/operation/css/css3-media-queries.html
    http://qiita.com/knml/items/c94dc493571dd4127d43

2、箱にフォーカスした時の挙動

CSS の疑似要素(:focus)で定義できます。
ただし、focus というのは input, select, textarea 等のフォームパーツにのみ適用可能です。
単純にマウスオーバーした場合に適用したい場合は :hover を利用してみてください。

<style>
/* 注意:.a1 が div 要素の場合、こちらのスタイルは適用されません。 */
.a1:focus {
  background:#F09;
}
/* .a2 にマウスオーバーした場合、このスタイルが適用されます */
.a2:hover {
  background:#F09;
}
</style>
  • 参考URL
    http://www.htmq.com/selector/focus.shtml

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

  • ただいまの回答率 89.19%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

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