1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

レスポンシブデザインとFlexboxを初めて勉強した

Last updated at Posted at 2021-02-05

レスポンシブデザイン

スマホのスマホの表示に対応したサイト制作において必須の技術
画面のサイズに応じて最適なレイアウトになる。

メディアクエリ
画面サイズに応じてCSSのスタイルを設定する

<head>
・・・
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--メディアクエリを機能させる 画面の大きさに応じたレイアウトにさせる 
レスポンシブデザインのurlを読み込む際には、必ずviewportよりも下の行に記述する-->
・・・
<link rel="stylesheet" href="url.css">
<link rel="stylesheet" href="url.css">
<link rel="stylesheet" href="url">
・・・
</head>
・・・
<span class="fa fa-bars menu-icon"></span><!--<a>のリンクをアイコンにまとめる-->
<div class="header-right">
  <a href="#">書きたいこと</a>
  <a href="#">書きたいこと</a>
  <a href="#" class="login">ログイン</a>
</div>
・・・
<div class="clear"></div>
・・・
.menu-icon { 
  color: white;/*色を白にする*/
  float: right;/*右側にする*/
  font-size: 25px;/*字の大きさ*/
  padding: 21px 0;/*上下のpaddingの21pxの余白*/
  display: none;/*要素を非表示*/
}
.clear {
  clear: left;/*レイアウトの崩れを修正*/
}
@media all and (max-width: 1000px) {/*画面の幅が1000px以下の時に適応させる タブレット向け*/
  .heading h2 {
    font-size: 20px;/*フォントの調整*/
  }
  
  .lesson {
    width :50%;/*lesson要素を画面の50%にする*/
    margin-bottom: 50px;
  }
  footer {
    text-align: center;/*テキストやボタンのようなインライン要素、インラインブロック要素を中央にする*/
  }

}

@media all and (max-width: 670px) { /*画面の幅が670px以下のときに適応させる スマホ向け*/
  .header-right {
    display: none;/*クラスheader-rightを非表示にする*/
  }
  
  .menu-icon {
    display: block;/*要素の配置を縦並びにする*/
  }
 .top-wrapper .btn {/*2つのクラスを指定*/
    width: 100%;/*幅を100%にする*/
  }
  
  .facebook {
    margin-bottom: 10px;
  }
  
  .top-wrapper {
    text-align: left;/*テキストを左寄りにする*/
  }
  
  .top-wrapper h1 {
    font-size: 24px;/*フォントの調整*/
  }
  
  .top-wrapper p {
    font-size: 14px;
  }
  .lesson {
    width: 100%;/*幅を100%にする*/
  }

  .message-wrapper .btn {
    width: 100%;/*全体にする*/
  }

}

理解できていないこと
・clear: left の意味

Flexbox

flexboxとはレイアウト方法の一つ

.クラス名 {
display: flex;/*横並びにする*/
flex-wrap: wrap; /*折り返す要素の親要素に指定*/ 

.クラス名 li {
flex: auto;/*親要素に合わせて伸縮させる*/
width: 50%;/*2列にする*/
}

レスポンシブデザインにも対応させることができる

@media (max-width: 1000px) {/*タブレット向け*/
  .flex-list {
    flex-wrap: wrap;/*子要素のサイズに応じて折り返す*/
  }
  
  .flex-list li {
    width: 50%;
  }

画面が小さくなるため縦並び

@media (max-width: 670px) {
  .flex-list {
    flex-direction: column;/*子要素を上から下へ並べる*/
  }
  
  .flex-list li {
    margin: 0 auto;/*ブロック要素を中央にする*/
  }

頑張って理解できるようになりたい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?