header {display: flex}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Responsive Web Design Task: Task</title>
<link rel="stylesheet" href="../styles.css" />
<style>
* {
box-sizing: border-box;
}
html {
font: 1.2em/1.4 Arial, Helvetica, sans-serif;
}
body {
padding: 0 0 1em;
}
header {
background-color: #333;
color: #fff;
border: 5px solid #000;
}
header ul {
list-style: none;
margin: 0;
padding: 0;
}
header a {
color: #fff;
text-decoration: none;
display: block;
padding: 0.5em 1em;
border-top: 1px solid #999;
}
header .title {
font-size: 150%;
font-style: italic;
font-weight: bold;
padding: 1em;
}
main {
padding: 0 1em;
}
.cards {
list-style: none;
margin: 0;
padding: 0;
}
.cards li {
border: 5px solid #000;
margin-bottom: 1em;
}
.cards h2 {
background-color: #333;
color: #fff;
margin: 0;
padding: 0.5em 1em;
}
.cards .inner {
padding: 0.5em 1em;
}
.sidebar {
background-color: #333;
border: 5px solid #000;
padding: 0.5em 1em;
color: #fff;
}
@media screen and (min-width: 60em) {
header {
display: flex;
justify-content: space-between;
align-items: center;
}
header ul {
display: flex;
}
header li {
margin: 0;
}
header a {
border: 0;
}
main {
display: grid;
grid-template-columns: 3fr 1fr;
gap: 20px;
margin-top: 20px;
}
.cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<header>
<div class="title">My Website</div>
<nav>
<ul>
<li>
<a href="">Link 1</a>
</li>
<li>
<a href="">Link 2</a>
</li>
<li>
<a href="">Link 3</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<h1>This is the main heading</h1>
<p>Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion daikon amaranth tatsoi
tomatillo melon azuki bean garlic.</p>
<p>Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean
collard greens dandelion okra wakame tomato. Dandelion cucumber earthnut pea peanut soko zucchini.</p>
<ul class="cards">
<li>
<h2>Card One</h2>
<div class="inner">
<p>Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water
spinach avocado.</p>
</div>
</li>
<li>
<h2>Card Two</h2>
<div class="inner">
<p>Daikon napa cabbage asparagus winter purslane kale. Celery potato scallion desert raisin
horseradish spinach carrot soko.</p>
</div>
</li>
<li>
<h2>Card Three</h2>
<div class="inner">
<p>Lotus root water spinach fennel kombu maize bamboo shoot green bean swiss chard seakale
pumpkin onion chickpea gram corn pea.</p>
</div>
</li>
<li>
<h2>Card Four</h2>
<div class="inner">
<p>Lotus root water spinach fennel kombu maize bamboo shoot green bean swiss chard seakale
pumpkin onion chickpea gram corn pea.</p>
</div>
</li>
<li>
<h2>Card Five</h2>
<div class="inner">
<p>Nori grape silver beet broccoli kombu beet greens fava bean potato quandong celery. Bunya
nuts black-eyed pea prairie turnip leek lentil turnip greens parsnip.</p>
</div>
</li>
</ul>
</article>
<aside class="sidebar">
<p>Have you discovered all of the other excellent content on this website?</p>
</aside>
</main>
</body>
</html>
hedaer {display: grid}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Responsive Web Design Task: Task</title>
<link rel="stylesheet" href="../styles.css" />
<style>
* {
box-sizing: border-box;
}
html {
font: 1.2em/1.4 Arial, Helvetica, sans-serif;
}
body {
padding: 0 0 1em;
}
header {
background-color: #333;
color: #fff;
border: 5px solid #000;
}
header ul {
list-style: none;
margin: 0;
padding: 0;
}
header a {
color: #fff;
text-decoration: none;
display: block;
padding: 0.5em 1em;
border-top: 1px solid #999;
}
header .title {
font-size: 150%;
font-style: italic;
font-weight: bold;
padding: 1em;
}
main {
padding: 0 1em;
}
.cards {
list-style: none;
margin: 0;
padding: 0;
}
.cards li {
border: 5px solid #000;
margin-bottom: 1em;
}
.cards h2 {
background-color: #333;
color: #fff;
margin: 0;
padding: 0.5em 1em;
}
.cards .inner {
padding: 0.5em 1em;
}
.sidebar {
background-color: #333;
border: 5px solid #000;
padding: 0.5em 1em;
color: #fff;
}
@media screen and (min-width: 60em) {
header {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
}
header nav {
justify-self: end;
}
header ul {
display: flex;
}
header li {
margin: 0;
}
header a {
border: 0;
}
main {
display: grid;
grid-template-columns: 3fr 1fr;
gap: 20px;
margin-top: 20px;
}
.cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<header>
<div class="title">My Website</div>
<nav>
<ul>
<li>
<a href="">Link 1</a>
</li>
<li>
<a href="">Link 2</a>
</li>
<li>
<a href="">Link 3</a>
</li>
</ul>
</nav>
</header>
<main>
<article>
<h1>This is the main heading</h1>
<p>Veggies es bonus vobis, proinde vos postulo essum magis kohlrabi welsh onion daikon amaranth tatsoi
tomatillo melon azuki bean garlic.</p>
<p>Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean
collard greens dandelion okra wakame tomato. Dandelion cucumber earthnut pea peanut soko zucchini.</p>
<ul class="cards">
<li>
<h2>Card One</h2>
<div class="inner">
<p>Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water
spinach avocado.</p>
</div>
</li>
<li>
<h2>Card Two</h2>
<div class="inner">
<p>Daikon napa cabbage asparagus winter purslane kale. Celery potato scallion desert raisin
horseradish spinach carrot soko.</p>
</div>
</li>
<li>
<h2>Card Three</h2>
<div class="inner">
<p>Lotus root water spinach fennel kombu maize bamboo shoot green bean swiss chard seakale
pumpkin onion chickpea gram corn pea.</p>
</div>
</li>
<li>
<h2>Card Four</h2>
<div class="inner">
<p>Lotus root water spinach fennel kombu maize bamboo shoot green bean swiss chard seakale
pumpkin onion chickpea gram corn pea.</p>
</div>
</li>
<li>
<h2>Card Five</h2>
<div class="inner">
<p>Nori grape silver beet broccoli kombu beet greens fava bean potato quandong celery. Bunya
nuts black-eyed pea prairie turnip leek lentil turnip greens parsnip.</p>
</div>
</li>
</ul>
</article>
<aside class="sidebar">
<p>Have you discovered all of the other excellent content on this website?</p>
</aside>
</main>
</body>
</html>
도움 받은 곳
https://github.com/mdn/css-examples/blob/main/learn/tasks/rwd/marking.md
깨달은 것
1. <header>를 grid로 구현하는 것보다 flex로 구현하는 게 훨씬 간단하다.
2. 미디어 쿼리가 꼭 필요하지 않을수도 있다.
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
코드를 작성할 경우 auto-fill 값은 비록 비어있을지라도, 가능한 행에 가능한 한 많은 열을 맞춘다. 그러면 minmax(200px,1fr)에 따라 최소 200px와 최대 1fr의 비율을 가진 열이 생성된다. 하지만 모바일 버전과 이외의 장치의 너비를 명확히 구분하고 싶으면 미디어 쿼리를 쓰는게 더 좋아보인다.
참조 : https://css-tricks.com/books/greatest-css-tricks/flexible-grids/
'CSS > MDN 문제 풀이' 카테고리의 다른 글
Test your skills: Multicol (0) | 2022.11.17 |
---|---|
Test your skills: Positioning (0) | 2022.11.15 |
Test your skills: Floats (0) | 2022.11.15 |
Test your skills: Grid (0) | 2022.11.15 |
Test your skills: Flexbox (0) | 2022.11.14 |