メディアクエリーの実践
📌学習内容
📖 メニューボタン実習
「X軸整列」メニューボタンを移動バージョンのY軸に整列させる
•PCのデフォルトバージョンの設定
.media-menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
width: 700px;
background-color: black;
}
.media-menu a {
color: black;
text-decoration: none;
}
.media-menu li {
width: 150px;
background-color: yellow;
border: solid 5px red;
padding: 5px 15px;
text-align: center;
}
•アプリケーションメディアクエリー
@media (min-width: 320px) and (max-width: 767px) {
.media-menu {
flex-direction: column;
width: 190px;
align-items: flex-start;
}
.media-menu li {
margin-bottom: 10px;
}
.media-menu li:last-child {
margin-bottom: 0;
}
}
📖 HELBAKタイトルエリア練習
•特長
-
header
レイアウトはPCおよびモバイルデバイスとは異なります-PCバージョンで
header
固定•
header
標準📎html
<header class="intro">
<h1>Logo</h1>
<nav>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</nav>
</header>
<main role="main"> <!-- 익스플로러 호환을 위해 role="main" 꼭 -->
<h1>Hello World</h1>
</main>
📎CSS .intro {
width: 100%;
height: 80px;
background-color: #ffffff;
}
.intro h1 {
width: 50%;
height: 80px;
background-color: black;
}
.intro nav {
width: 50%;
height: 80px;
background-color: yellow;
}
.intro nav ul {
list-style: none;
padding: 0;
margin: 0;
}
main {
width: 100%;
height: 2000px;
background-color: lightgray;
}
•
li
x軸を並べて色を入れ替える .intro nav ul {
display: flex;
}
.intro nav ul li {
width: 33.3333%;
height: 80px;
}
.intro nav ul li:nth-child(1) {
background-color: lightpink;
}
.intro nav ul li:nth-child(2) {
background-color: skyblue;
}
.intro nav ul li:nth-child(3) {
background-color: yellowgreen;
}
•LOGO領域とメニュー領域の分離
.intro {
display: flex;
}
•固定
header
.intro {
position: fixed;
}
main {
padding-top: 80px;
/*3차원인 .intro 뒤로 2차원 main이 숨겨지기 때문에 padding 적용*/
}
•モバイルバージョンの使用
@media (min-width: 320px) and (max-width: 767px) {
.intro {
flex-direction: column;
height: 160px;
}
.intro h1 {
width: 100%;
}
.intro nav {
width: 100%;
}
}
•モバイルバージョンからの
header
フリーズ解除 @media (min-width: 320px) and (max-width: 767px) {
.intro {
position: static;
}
main {
padding-top: 0;
}
📖 メディアクエリーレイアウトの変更の実践
•PCバージョン:画像レイアウト3 x 2
📎html
<div class="container">
<div class="column">
<img src="https://via.placeholder.com/250x150">
<div class="image-info">
<h2>Title</h2>
</div>
</div>
</div>
📎CSS .container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 1140px;
margin: 0 auto;
background-color: lightpink;
}
.column {
width: 355px;
background-color: white;
border: solid 2px red;
margin-bottom: 10px;
}
.column:nth-child(4),
.column:nth-child(5),
.column:nth-child(6) {
margin-bottom: 0;
}
.column img {
width: 100%;
vertical-align: middle; /*img의 기본 마진을 없애줌*/
}
•テキスト領域への設計の適用
.image-info {
padding: 20px 0;
text-align: center;
}
.image-info h2 {
margin: 0;
}
•メディア照会-タブレット版画像レイアウト2 x 3
@media (min-width: 540px) and (max-width: 720px) {
.container {
width: 720px;
}
}
•第4、5、および6地域の利益値0のリリース
@media (min-width: 540px) and (max-width: 720px) {
.column:nth-child(4) {
margin-bottom: 10px;
}
}
•メディアクエリー-バージョン画像レイアウト1 x 6を移動
@media (min-width: 320px) and (max-width: 539px) {
.container {
width: 100%;
}
.column {
width: 100%;
}
.column:nth-child(4),
.column:nth-child(5) {
margin-bottom: 10px;
}
}
両側空白期間
@media (min-width: 320px) and (max-width: 539px) {
.container {
box-sizing: border-box;
width: 100%;
padding: 0 20px;
}
📖 メディアクエリを適用する3つの方法
(1)上記のようにCSSファイルに
@media
を適用する(2)モバイル版CSSの個別作成、適用、管理
(3)
head
にstyle
タグを適用する📌難点
幸いたいしたことはなかった
📌に感銘を与える
実習の過程で、前に学んだ概念を総合的に運用したことを感じました.また,講師が以前に与えられた属性値をなぜ修正したり削除したりしたのかを説明すると,苦労せずに理解することができ,彼は喜んでいる.😊ははは
Reference
この問題について(メディアクエリーの実践), 我々は、より多くの情報をここで見つけました https://velog.io/@naheeyu/210712テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol