๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CSS/Layout_Site

์นด๋“œ ์œ ํ˜• (3)

by oranssy 2022. 8. 11.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ ์นด๋“œ ์œ ํ˜• 03 โญ๏ธ


01. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์ƒํ•˜๊ธฐ

๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์ƒํ•  ๋•Œ๋Š”, ์Šค์ผ€์น˜ํ•˜๋ฉด์„œ ์„ธ๋ถ€ ๋‚ด์šฉ์˜ ์ •๋ณด๊นŒ์ง€ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ณ„ํšํ•ฉ๋‹ˆ๋‹ค.

02. ๊ธฐ๋ณธ ์ƒ์ž(div) ๋งŒ๋“ค๊ธฐ : <body>

section ์„ ์‹œ๋ฉ˜ํ‹ฑ ๋งˆํฌ์—…ํ•˜๊ณ , id ๋กœ ์ด๋ฆ„์„ ์ง€์–ด์ค๋‹ˆ๋‹ค.
์นด๋“œ ์ƒ์ž 3๊ฐœ(article)์„ ๋งŒ๋“ค๊ณ , ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
์ค‘๊ฐ„ ์ค‘๊ฐ„์— ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ์ž˜ ๋งŒ๋“ค์–ด์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

<section id="cardType03"> // <section>๊ณผ ๊ฐ™์ด ์‹œ๋ฉ˜ํ‹ฑ ๋งˆํฌ์—…์„ ํ•˜๋ฉด ์ œ๋ชฉ์„ ๋ฐ˜๋“œ์‹œ ์ ์–ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ <h2>๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. (์ดํ›„ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋„๋ก ์ˆจ๊ฒจ๋†“๊ธฐ)
<h2>ํŽ ํŠธ ๊ณต์˜ˆ ํ›„๊ธฐ</h2>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
</section>

02. ๊ธฐ๋ณธ style(css) ์„ค์ •ํ•˜๊ธฐ : <style>

/* font */
@import url('https://webfontworld.github.io/score/SCoreDream.css');
.score { /* ์ „์ฒด ๊ธ€์ž ์„ค์ • */
font-family: 'SCoreDream';
font-weight: 300; /* ๊ธฐ๋ณธ ๊ธ€์ž ๋‘๊ป˜*/
}
/* reset */
* { /* ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ ์—ฌ๋ฐฑ ์—†์• ๊ธฐ */
margin: 0;
padding: 0;
}
a {
text-decoration: none; /* ํŒŒ๋ž‘์ƒ‰ ๋ฐ‘์ค„๋กœ ๋ณด์ด๋Š” a ๋งํฌ์˜ ๊ธฐ๋ณธ ์„ค์ • ๋ฐ”๊พธ๊ธฐ */
color: #000;
}
img {
width: 100%; /* ์ด๋ฏธ์ง€ ํŒŒ์ผ๋„ ๋“ค์–ด๊ฐ€๋ฏ€๋กœ ๋„ˆ๋น„ 100%๋กœ ์„ค์ •ํ•ด๋‘์ž */
}
h1, h2, h3, h4, h5, h6 { /* ๊ตต๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ธฐ๋ณธ ๊ธ€์ž ๋‘๊ป˜๋ฅผ ๋ณดํ†ต ๊ตต๊ธฐ๋กœ ๋ฐ”๊พธ๊ธฐ */
font-weight: normal;
}

03. ๋ ˆ์ด์•„์›ƒ์˜ ํฐ ํ‹€์— ์„ ํƒ์ž ์„ค์ • : <body>

<section id="cardType03" class="card__wrap score section"> // ์ „์ฒด ๊ธ€์ž ์„ค์ • ๋ฐ ๊ฒฝ๋กœ ํŒŒ์•…์„ ์œ„ํ•œ ์„ ํƒ์ž ์ด๋ฆ„ ์ž…๋ ฅ
<div class="card__inner container"> // ์นด๋“œ ์ƒ์ž 3๊ฐœ ๋ฌถ์Œ. ์ „์ฒด container ์„ ํƒ์ž ์ด๋ฆ„๋กœ ๊ทธ๋ฃนํ™”
<h2>ํŽ ํŠธ ๊ณต์˜ˆ ํ›„๊ธฐ</h2>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
<article calss="card">
<h3>์นด๋“œ ์ œ๋ชฉ</h3>
<p>์นด๋“œ ๋‚ด์šฉ</p>
</article>
</div>
</section>

04. ๋ ˆ์ด์•„์›ƒ์˜ ํฐ ํ‹€ css ์„ค์ • : <style>

/* common : ๋‹ค๋ฅธ ํŽ˜์ด์ง€์—์„œ๋„ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” css ํ•จ๋ถ€๋กœ ์ˆ˜์ • ๋ถˆ๊ฐ€*/
.container { /* ์นด๋“œ ์ƒ์ž 3๊ฐœ๋ฅผ ๋ชจ๋‘ ๋ฌถ๋Š” ํฐ ์ƒ์ž */
width: 1160px; /* ํฐ ์ƒ์ž ๋„ˆ๋น„ ์„ค์ • : ๋ ˆ์ด์•„์›ƒ ์Šค์ผ€์น˜์˜ ์ˆ˜์น˜ ํ™•์ธ */
padding: 0 20px; /* ์ƒํ•˜ ์—ฌ๋ฐฑ ์„ค์ • */
margin: 0 auto; /* ์ค‘์•™ ์ •๋ ฌ */
min-width: 1160;
}
.section {
padding: 120px 0; /* ์ขŒ์šฐ ์—ฌ๋ฐฑ ์„ค์ • */
}
.section > h2 { /* section ์˜ ๋ฐ”๋กœ ๋ฐ‘์˜ ์ž์‹์ธ h2 ์—๋งŒ ์ ์šฉ */
font-size: 50px;
line-height: 1; /* ์ค„๊ฐ„๊ฒฉ */
text-align: center; /* ๊ธ€์ž ์ค‘์•™ ์ •๋ ฌ */
margin-bottom: 20px; /* ๋ฐ‘ ์—ฌ๋ฐฑ ์„ค์ • */
}
.section > p {
font-size: 22px;
font-weight: 300;
color: #666;
text-align: center;
margin-bottom: 70px;
}
/* cardType03 */
body {
background-color: #2254c3; /* ๋ธŒ๋ผ์šฐ์ € ๋ฐฐ๊ฒฝ์ƒ‰ */
}
.card__inner {
display: flex; /* ์นด๋“œ ๊ฐ€๋กœ ์ •๋ ฌ */
}
.card__inner .card {
width: 33.3333%; /* ๋„ˆ๋น„ ๋น„์œจ */
padding: 26px; /* container์™€ ์นด๋“œ ์‚ฌ์ด์˜ ์—ฌ๋ฐฑ */
background-color: #fff;
}
.card__inner .card:nth-child(1) {
border-right: 1px solid #eee; /* ์นด๋“œ ์‚ฌ์ด์˜ ์ ์„  ๋งŒ๋“ค๊ธฐ */
}
.card__inner .card:nth-child(2) {
border-right: 1px solid #eee;
}

05. ์„ธ๋ถ€ ์ƒ์ž / ๊ทธ๋ฃนํ™” ๋ฐ class ๋กœ ์ด๋ฆ„ ์„ค์ • : <body>

๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ์ด๋ฏธ์ง€, ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ด๋Š” ๋ชจ๋“  ์ƒ์ž๋ฅผ ์ƒ๊ฐํ•˜๊ณ  ๊ทธ๋ฃนํ™” ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฃนํ™” ๊ณผ์ •์—์„œ๋Š” style (css) ์ ์šฉ์„ ์œ„ํ•ด, class ๋กœ ๊ฒน์น˜์ง€ ์•Š๋Š” ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. โ˜› ์„ ํƒ์ž

<section id="cardType03" class="card__wrpa score section">
<h2 class="blind">ํŽ ํŠธ ๊ณต์˜ˆ ํ›„๊ธฐ</h2> // css ์—์„œ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๊ฒŒ ์ˆจ๊ฒจ๋†“๊ธฐ ์œ„ํ•ด ์ด๋ฆ„ ์„ค์ •
<div class="card__inner container">
<article class="card">
<figure class="card__header"> // ์นด๋“œ ์ƒ์ž์˜ ์ƒ๋‹จ์„ ๊ตฌ์„ฑํ•˜๋Š” ํฐ ์ด๋ฏธ์ง€์™€ ์ƒ๋‹จ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•œ ์ƒ์ž(span) ๊ทธ๋ฃนํ™”.
<img src="img/card_bg03_01.jpg" alt="๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•"> // ์ด๋ฏธ์ง€ ๋„ฃ๊ณ , W3C ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด alt ๋‚ด์šฉ ์ž…๋ ฅ
<figcaption>ํŽ ํŠธ ๊ณต์˜ˆ</figcaption> // ๋ฐ‘์˜ ์ด๋ฏธ์ง€ span ๊ณผ ๊ฒน์น˜๋ฏ€๋กœ figcaption ๋กœ ์‹œ๋ฉ˜ํ‹ด ๋งˆํฌ์—…
</figure>
<div class="card__contents"> // ์นด๋“œ ์ƒ์ž์˜ ์ค‘๊ฐ„์— ๋“ค์–ด๊ฐ€๋Š” ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ๊ทธ๋ฃนํ™”
<h3>ํŽ ํŠธ ๊ณต์˜ˆ : ๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”!</h3> // ์ค„ ๋„˜๊น€ ํšจ๊ณผ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ๊ธธ๊ฒŒ ์ž…๋ ฅ
<p>๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜๋Š” ํŽ ํŠธ์ง€ ๋‘ ์žฅ์„ ๋งž๋Œ€์–ด ๋ฐ”๋Š์งˆํ•˜๊ฑฐ๋‚˜ ํŽ ํŠธ์ง€ ๋‘˜๋ ˆ๋ฅผ ์ •๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ”๋Š์งˆ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ๋งค๋“ญ์ด ๋ณด์ด์ง€ ์•Š๊ฒŒ ํŽ ํŠธ์ง€ ์•Š์ชฝ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ฐ”๋Š˜์„ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค.</p>
</div>
<div class="card__footer"> // ์นด๋“œ ์ƒ์ž์˜ ํ•˜๋‹จ์„ ๊ตฌ์„ฑํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋‚ด์šฉ ๋ฐ ์ด๋ฏธ์ง€ ๊ทธ๋ฃนํ™”
<h4>๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚  <em>1์ผ ์ „</em></h4>
<span><img src="img/card_bg03_icon01.png" alt="์‚ฌ์šฉ์ž : ๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚ "></span>
</div>
</article>
<article class="card"> // * ๋ณต์‚ฌ : ์œ„์˜ ์นด๋“œ ํ•˜๋‚˜๋ฅผ ๋‘ ๋ฒˆ ๋ณต์‚ฌํ•˜๊ณ  ๋‚˜์„œ ์„ธ๋ถ€ ๋‚ด์šฉ ๋ฐ”๊พธ๊ธฐ
<figure class="card__header">
<img src="img/card_bg03_01.jpg" alt="๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•">
<figcaption>ํŽ ํŠธ ๊ณต์˜ˆ</figcaption>
</figure>
<div class="card__contents">
<h3>ํŽ ํŠธ ๊ณต์˜ˆ : ๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”!</h3>
<p>๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜๋Š” ํŽ ํŠธ์ง€ ๋‘ ์žฅ์„ ๋งž๋Œ€์–ด ๋ฐ”๋Š์งˆํ•˜๊ฑฐ๋‚˜ ํŽ ํŠธ์ง€ ๋‘˜๋ ˆ๋ฅผ ์ •๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ”๋Š์งˆ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ๋งค๋“ญ์ด ๋ณด์ด์ง€ ์•Š๊ฒŒ ํŽ ํŠธ์ง€ ์•Š์ชฝ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ฐ”๋Š˜์„ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค.</p>
</div>
<div class="card__footer">
<h4>๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚  <em>1์ผ ์ „</em></h4>
<span><img src="img/card_bg03_icon01.png" alt="์‚ฌ์šฉ์ž : ๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚ "></span>
</div>
</article>
<article class="card"> // * ๋ณต์‚ฌ
<figure class="card__header">
<img src="img/card_bg03_01.jpg" alt="๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•">
<figcaption>ํŽ ํŠธ ๊ณต์˜ˆ</figcaption>
</figure>
<div class="card__contents">
<h3>ํŽ ํŠธ ๊ณต์˜ˆ : ๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜์™€ ๋ผ์›Œ๋ฐ•๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”! ์•Œ์•„๋ณด์•„์š”!</h3>
<p>๋ฒ„ํŠผํ™€ ์Šคํ‹ฐ์น˜๋Š” ํŽ ํŠธ์ง€ ๋‘ ์žฅ์„ ๋งž๋Œ€์–ด ๋ฐ”๋Š์งˆํ•˜๊ฑฐ๋‚˜ ํŽ ํŠธ์ง€ ๋‘˜๋ ˆ๋ฅผ ์ •๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ”๋Š์งˆ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ๋งค๋“ญ์ด ๋ณด์ด์ง€ ์•Š๊ฒŒ ํŽ ํŠธ์ง€ ์•Š์ชฝ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ฐ”๋Š˜์„ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค.</p>
</div>
<div class="card__footer">
<h4>๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚  <em>1์ผ ์ „</em></h4>
<span><img src="img/card_bg03_icon01.png" alt="์‚ฌ์šฉ์ž : ๋ฐ”๋Š์งˆํ•˜๊ธฐ ์ข‹์€๋‚ "></span>
</div>
</article>
</div>

06. ์„ธ๋ถ€ css ์„ค์ • : <style>

์นด๋“œ ์ƒ๋‹จ css

.card {}
.card__header {
position: relative; /* ๋‘๋ฒˆ์งธ, ์นด๋“œ์˜ ์˜ค๋ฅธ์ชฝ ๋ชจ์„œ๋ฆฌ์ชฝ์œผ๋กœ ์œ„์น˜ ๊ณ ์ •ํ•  ๊ธฐ์ค€์  ์„ค์ • */
}
.card__header img {
border-radius: 10px;
box-shadow: 4px 4px 5px 0 rgba(0, 0, 0, 0.05);
margin-bottom: 20px;
}
.card__header figcaption {
position: absolute; /* ์ฒซ๋ฒˆ์จฐ, ์นด๋“œ์˜ ์˜ค๋ฅธ์ชฝ ๋ชจ์„œ๋ฆฌ์ชฝ์œผ๋กœ ์œ„์น˜ ๊ณ ์ • */
right: 10px;
top: 10px;
padding: 6px 16px;
border-radius: 50px; /* ๊ณก๋ฅ  ์„ค์ • */
background-color: #fff;
text-align: center;
font-size: 14px;
color: #7b7b7b;
}

์นด๋“œ ์ค‘๊ฐ„ ๋‚ด์šฉ css

.card__contents {}
.card__contents h3 {
font-size: 20px;
line-height: 1.4;
margin-bottom: 10px;
overflow: hidden; /* ์ค„ ๋„˜๊น€ ํšจ๊ณผ */
text-overflow: ellipsis; /* ์ค„ ๋„˜๊น€ ํšจ๊ณผ */
display: -webkit-box; /* ์ค„ ๋„˜๊น€ ํšจ๊ณผ */
-webkit-line-clamp: 2; /* ์ค„ ๋„˜๊น€ ํšจ๊ณผ */
-webkit-box-orient: vertical; /* ์ค„ ๋„˜๊น€ ํšจ๊ณผ */
}
.card__contents p {
color: #666;
font-size: 16px;
line-height: 1.7;
margin-bottom: 30px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}

์นด๋“œ ํ•˜๋‹จ css

.card__footer {
display: flex;
justify-content: flex-end; /* display: flex;์˜ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ ์ •๋ ฌ ๋ฐฉ์‹*/
}
.card__footer h4 {
text-align: right;
color: #DD2A2A;
}
.card__footer em {
display: block;
color: #666;
font-style: normal; /* ๊ธ€์ž ๊ธฐ์šธ๊ธฐ ์—†์• ๊ธฐ */
}
.card__footer span {
width: 40px;
height: 40px;
background: #000;
border-radius: 50%;
overflow: hidden;
display: block;
margin-left: 10px;
margin-top: -3px; /* margin ๋งŒ - ๋กœ ์„ค์ • ๊ฐ€๋Šฅ */
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.05); /* ๊ทธ๋ฆผ์ž ๋„ฃ๊ธฐ */
}

03. ๊ฒฐ๊ณผ๋ณด๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

'CSS > Layout_Site' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ด๋ฏธ์ง€ ์œ ํ˜• (3)  (2) 2022.08.22
์ด๋ฏธ์ง€ ์œ ํ˜• (2)  (2) 2022.08.18
์ด๋ฏธ์ง€ ์œ ํ˜• (1)  (4) 2022.08.17
์นด๋“œ ์œ ํ˜• (2)  (7) 2022.08.10
์นด๋“œ ์œ ํ˜• (1)  (8) 2022.08.09

๋Œ“๊ธ€