๐Ÿฃ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ผ์ง€ - CSS #9

seok_aejin1231ยท2021๋…„ 7์›” 12์ผ
0

AI SCHOOL

๋ชฉ๋ก ๋ณด๊ธฐ
11/49

๐Ÿ“˜ ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ


๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ฐ”์ผ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ

  1. https://flexbox.help/ ์‚ฌ์ดํŠธ ํ™œ์šฉํ•˜์—ฌ ์ •๋ ฌํ•˜๊ธฐ

ํ”Œ๋ ‰์Šค๋ฐ•์Šค ์‚ฌ์ดํŠธ์—์„œ ์›ํ•˜๋Š” CSS๋ฅผ ์ฒดํฌํ•˜๊ณ , ์•„๋ž˜ CSS OUTPUT ํƒœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ฝ”๋“œ ์ž‘์„ฑ

๊ฒฐ๊ณผ ๐Ÿ‘‡

.media-menu {
	list-style: none;
	margin: 0;
	padding-top: 0;
	padding-left: 0;

	display: flex;
	justify-content: space-between;
	align-items: center;

	width: 700px;
	background-color: black;
}
  1. ๋ฏธ๋””์–ด์ฟผ๋ฆฌ ํƒœ๊ทธ ์ž‘์„ฑ

@media (min-width: 320px) and (max-width: 767px) {
	.media-menu {
		flex-direction: column;
		align-items: flex-start ;
        
        /* ๋ฉ”๋‰ด๊ฐ’์ด 700์œผ๋กœ ์žกํ˜€์žˆ๊ธฐ์— ๋™์ผํ•˜๊ฒŒ ์ฃผ๊ธฐ์œ„ํ•ด */
		width: 190px;
	}

	.media-menu li {
		margin-bottom: 10px;
	}

	.media-menu li:last-child {
		margin-bottom: 0;
	}
}

๋ด๋งˆํฌ ์‡ผํ•‘๋ชฐ ์ƒ๋‹จ๋ฐ” ์—ฐ์Šต

https://www.helbak.com/

๐Ÿ’ป PC ๋ฒ„์ „

/* PC */
.intro {
	display: flex;

	/* ์ƒ๋‹จ๋ฐ” ๊ณ ์ • */
	position: fixed;

	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;
}

/* 3๋“ฑ๋ถ„ */
.intro nav ul li {
	width: 33.3333%;
	height: 80px;
}

/* liํƒœ๊ทธ x์ถ• ์ •๋ ฌ */
.intro nav ul {
	display: flex;
}


/* ๊ฐ๊ฐ ๋ฉ”๋‰ด๋ฒ„ํŠผ ๋ฐฐ๊ฒฝ์ƒ‰ ์ง€์ • */
.intro nav ul li:nth-child(1) {
	background-color: lightgray;
}
.intro nav ul li:nth-child(2) {
	background-color: darkgray;
}
.intro nav ul li:nth-child(3) {
	background-color: dimgray;
}


main {
	width: 100%;
	height: 2000px;
	background-color: pink;

	padding-top: 80px;
}

๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ๋ฒ„์ „

/* ๋ชจ๋ฐ”์ผ */
@media (min-width: 320px) and (max-width:  767px) {
	.intro {
		/* ์ƒ๋‹จ๋ฐ” ๊ณ ์ • */
		position: static;

		flex-direction: column;
		height: 160px;
	}

	.intro h1 {
		width: 100%;
	}

	.intro nav {
		width: 100%;
	}

	/* ๊ณต๋ฐฑ ์—†์• ์ฃผ๊ธฐ */
	main {
		padding-top: 0;
	}
}

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์‚ฌ์ดํŠธ ์—ฐ์Šต

https://startbootstrap.com/previews/agency

๐Ÿ’ป PC ๋ฒ„์ „

.container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	width: 1140px;
	margin: 0 auto;
	background-color: pink;
}

.column {
	/* 4๊ฐœ์งธ์— ์ค„๋ฐ”๊ฟˆ์„ ํ•˜๊ธฐ์œ„ํ•ด width๊ฐ’ ์คŒ */
	width: 355px;
	background-color: #ffffff;
	border: solid 2px red;
	margin-bottom: 10px;
}

/* ๋ฐ‘๋ถ€๋ถ„ ๊ณต๋ฐฑ ์—†์• ๊ธฐ */
.column:nth-child(4),
.column:nth-child(5),
.column:nth-child(6) {
	margin-bottom: 0;
}


/* ์ด๋ฏธ์ง€๋ฅผ ๊ฝ‰์ฑ„์šฐ๊ธฐ ์œ„ํ•ด css๋กœ ์ด๋ฏธ์ง€๊ฐ’ ๋‹ค์‹œ ์„ค์ •ํ•จ */
.column img {
	width: 100%;

	/* ๊ณต๋ฐฑ์„ ์—†์• ๊ธฐ ์œ„ํ•œ imgํƒœ๊ทธ์˜ ๋””ํดํŠธ๊ฐ’ */
	vertical-align: middle;
}

.image-info {
	padding: 20px 0;
	text-align: center;
}

.image-info h2 {
	margin: 0;
}

๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ๋ฒ„์ „

@media (min-width: 540px) and (max-width: 720px) {
	.container {
		width: 720px;
	}

	.column:nth-child(4) { margin-bottom: 10px; }
}

@media (min-width: 320px) and (max-width:  539px) {
	.container {
		box-sizing: border-box;
		width: 100%;

		padding: 0 20px;
	}

	.column {
		width: 100%;
	}

	.column:nth-child(4),
	.column:nth-child(5) { margin-bottom: 10px; }
}

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ ์šฉ ๋ฐฉ์‹ 3๊ฐ€์ง€

1) CSS์— ๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ž…๋ ฅ (๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ)

2) ๋ชจ๋ฐ”์ผ ๋ฒ„์ „ ๋”ฐ๋กœ ๋งŒ๋“ค๊ธฐ (์ฝ”๋“œ๋ถ„๋Ÿ‰์ด ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ ์›ํ• ํ•œ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•˜์—ฌ)

  • mobile.css ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ
  • mobile.css linkํƒœ๊ทธ ์ž‘์„ฑ

3) style ํƒœ๊ทธ ํ™œ์šฉ (๊ฑฐ์˜ ์‚ฌ์šฉX)

  • ๋‹ค์ด๋ ‰ํŠธ๋กœ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ž…๋ ฅํ•˜๊ธฐ
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1.0">

	<link rel="stylesheet" type="text/css" href="css/style.css">

	<style media="(min-width: 300px) and (max-width: 700px)">

		body {
			background-color: red;
		}
</head>

๐Ÿ“Œ ์˜ค๋Š˜์˜ Tip


1) 3์ฐจ์›์ด ์•ž์— ๋‚˜์˜ฌ๊ฒฝ์šฐ 2์ฐจ์›์ธ mainํƒœ๊ทธ๋Š” 3์ฐจ์›์ธ header์˜์—ญ ๋’ค๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

	<!-- 3์ฐจ์› -->
	<header class="intro">
		<h1></h1>
		<nav>
			<ul>
				<li></li>
				<li></li>
				<li></li>
			</ul>
		</nav>
	</header>

	<!-- 2์ฐจ์› -->
	<main role="main"></main>

๐Ÿ‘‰ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

main {
	width: 100%;
	height: 2000px;
	background-color: pink;
	
	padding-top: 80px;
}

header ๋†’์ด๊ฐ’๋งŒํผ padding-top ๊ฐ’ ์ฃผ๊ธฐ
mainํƒœ๊ทธ๋Š” ์—ฌ์ „ํžˆ ๊ฒน์ณ์ ธ์žˆ์ง€๋งŒ padding ๊ณต๋ฐฑ์œผ๋กœ ์ธํ•ด h1ํƒœ๊ทธ๋Š” ๋ณด์—ฌ์ง€๊ฒŒ ๋จ

2) ์•„์ง ์—ฐ์Šต๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— height๋ฅผ ์ง€์ •ํ•ด์„œ ์—ฐ์Šตํ•ด์ฃผ๊ธฐ

โ” ์–ด๋ ค์› ๋˜ ๊ฒƒ OR ํž˜๋“ค์—ˆ๋˜ ๊ฒƒ


CSS์ดˆ๊ธฐํ™” ๊ณผ์ •์ด ์žˆ๋Š”๋ฐ, ์™ผ์ชฝ ํŒจ๋”ฉ๊ฐ’์ด ์ž๋™์œผ๋กœ ์ ์šฉ๋˜์—ˆ๋‹ค.

๐Ÿ’ก ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•!


  1. ๊ฒ€์‚ฌ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด์„œ media-menu ์ „์ฒด ํŒจ๋”ฉ๊ฐ’์ด ๋“ค์–ด๊ฐ€์žˆ์Œ์„ ํ™•์ธ
  2. padding-left ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •

CSS ์ดˆ๊ธฐํ™”ํ–ˆ์Œ์—๋„ ์ด๋Ÿฐ๊ณผ์ •์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ญ˜๊นŒ?

๐ŸŒฑ ๊ณต๋ถ€๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ,


๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋กœ ๋ชจ๋ฐ”์ผ์„ ๊ตฌํ˜„ํ•˜๋Š” ์—ฐ์Šต๊ณผ์ •์—์„œ PC๋ฒ„์ „์—์„œ ๋จผ์ € ์„ค์ •ํ•ด๋‘” ๊ฐ’์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ padding๊ฐ’์„ ์ˆ˜์ •ํ•˜๋Š” ์ผ์ด ๋งŽ๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. ์•„์ง ์ฃผ๋‹ˆ์–ด๊ณผ์ •์ด๋ผ ํ•˜๋‚˜ ํ•˜๋‚˜ ๋œฏ์–ด์„œ ๊ณต๋ถ€ํ•˜๋Š” ์ค‘์ด์ง€๋งŒ, ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•ด ์ „์ฒด ๊ทธ๋ฆผ์„ ๋ณผ์ค„ ์•Œ์•„์•ผ๊ฒ ๋‹ค. ์ „์ฒด๋ฅผ ๋ณผ์ค„ ์•ˆ๋‹ค๋ฉด ์ˆ˜์ •ํ•˜๋Š” ์ผ์ด ๋งŽ์ด ์ค„์–ด๋“ค์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด