HTML, CSS

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ์›น ๋งŒ๋“ค๊ธฐ

mellomello.made 2022. 7. 22. 00:10

๐Ÿ•Š ๋ฐ˜์‘ํ˜• ์›น์ด๋ž€?

๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์ด๋ž€ ์—ฌ๋Ÿฌ ์žฅ์น˜์˜ ๋‹ค์–‘ํ•œ ํŠน์„ฑ์— ๋Œ€์‘ํ•˜๋Š” ํ•˜๋‚˜์˜ ์›น ๋ฌธ์„œ ๋˜๋Š” ์‚ฌ์ดํŠธ๋กœ์จ,
๋ธŒ๋ผ์šฐ์ €์˜ ํฌ๊ธฐ(์Šคํฌ๋ฆฐ์˜ ํฌ๊ธฐ, ๋””๋ฐ”์ด์Šค์˜ ์ข…๋ฅ˜)์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์‘ํ•˜์—ฌ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ ˆ์ด์•„์›ƒ์ด ๋ณ€ํ•˜๋Š” ์›น ์‚ฌ์ดํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์ฆ‰, ํ•˜๋‚˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋กœ ๋ชจ๋“  ์Šคํฌ๋ฆฐ์— ์ตœ์ ํ™”๋œ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋ก , ๋””๋ฐ”์ด์Šค ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์›นํŽ˜์ด์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์ ์œผ๋กœ ์žฌ์กฐ์ •๋˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ๋ฐ˜์‘ํ˜• ์›น์€ ํ•˜๋‚˜์˜ URL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™”๋ฉด์ด ๋ฐ”๋€๋‹ค. ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์€ ์œ ์—ฐํ•œ ๋ ˆ์ด์•„์›ƒ์— ๋Œ€์‘ํ•˜์—ฌ ํ•ญ์ƒ ์ตœ์ ์˜ ํ™”๋ฉด์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋‹ค์–‘ํ•œ ์Šคํฌ๋ฆฐ ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€๋‹Œ ๋””๋ฐ”์ด์Šค์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํŠน์ • ์žฅ์น˜์— ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๋ณ„๋„์˜ URL์€ ๋ชจ๋ฐ”์ผ์˜ ๊ฒฝ์šฐ ๋Œ€๊ฐœ m.domainname.com ๊ฐ™์€ ์‹์œผ๋กœ, ๋„๋ฉ”์ธ ์•ž์— ๋ชจ๋ฐ”์ผ์„ ์˜๋ฏธํ•˜๋Š” “m”์„ ๋ถ™์ž„์œผ๋กœ์จ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์žฅ์น˜์— ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๋ณ„๋„์˜ URL๊ณผ ํ™”๋ฉด์ด ๊ตฌ๋น„๋œ ์›น ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ, ๋ฐ์Šคํฌํƒ‘ ๋ฒ„์ „์˜ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋„์šด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ค„์˜€์„ ๋•Œ ๋ฐ˜์‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 


๐Ÿ•Š ๋ฏธ๋””์–ด์ฟผ๋ฆฌ

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„๋‹ค.
๋ทฐํฌํŠธ(๋ธŒ๋ผ์šฐ์ € ์ฐฝ)์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์กฐํŒ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ ์šฉ๋ฒ•

 

1. CSS ํŒŒ์ผ์„ HTML ํŒŒ์ผ์— ์ ์šฉํ•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ <head>ํƒœ๊ทธ ์•ˆ์— <link>ํƒœ๊ทธ๋ฅผ ์œ„์น˜ ์‹œํ‚จ๋‹ค.

๋‹ค๋ฅธ css ํŒŒ์ผ์„ ์ ์šฉํ•  ๋•Œ์™€ ๋‹ค๋ฅธ ์ ์€ ๋ฏธ๋””์–ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

๋ฏธ๋””์–ด ์†์„ฑ ๋‚ด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ์—๋งŒ ํ•ด๋‹น css ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋œ๋‹ค.

<link href="cssํŒŒ์ผ์ด๋ฆ„.css" media="screen and (min-width: 400px) and (max-width: 1000px)" rel="stylesheet">

 

2. HTML ํŒŒ์ผ ๋‚ด <head>ํƒœ๊ทธ ์•ˆ์—์„œ <style>ํƒœ๊ทธ๋ฅผ ์—ด์–ด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑ.

์ด ๋ฐฉ๋ฒ•๋„ ๋ฏธ๋””์–ด ์†์„ฑ ๋‚ด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ์—๋งŒ ํ•ด๋‹น ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

<style type="text/css" media="screen and (min-width: 400px) and (max-width: 1000px)">
	/* ์—ฌ๊ธฐ css๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. */
</style>

 

3. CSS ํŒŒ์ผ ํ˜น์€ ํƒœ๊ทธ ์•ˆ์—์„œ ์ง์ ‘ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ž‘์„ฑ

@media ๋ฏธ๋””์–ด ํƒ€์ž… (์กฐ๊ฑด(๋„ˆ๋น„ ๋ฐ ๋†’์ด)) {
    (CSS ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„)
}

--์˜ˆ์ œ
@media screen (max-width: 400px) {
    body {
			color: red;
		}
}
  • ๋ฏธ๋””์–ด ํƒ€์ž… : ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ๋ฏธ๋””์–ด๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์ค€๋‹ค.
  • ์กฐ๊ฑด(๋„ˆ๋น„ ๋ฐ ๋†’์ด) : ์ง€์ •ํ•œ ์ฐฝ์˜ ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ธฐ์ค€์ด ๋งŒ์กฑ๋˜๋ฉด ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๊ณ , ๋งŒ์กฑ๋˜์ง€ ์•Š์œผ๋ฉด ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • CSS ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„ : ์กฐ๊ฑด๋ฌธ์„ ํ†ต๊ณผํ•˜๊ณ , ๋ฏธ๋””์–ด ํƒ€์ž…์ด ์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ์šฐ ์Šคํƒ€์ผ์ด ์ ์šฉ ๋œ๋‹ค.

 

๋ฏธ๋””์–ด ํƒ€์ž…(Media Type)
  • all : ๋ชจ๋“  ๋ฏธ๋””์–ด ํƒ€์ž…
  • print : ํ”„๋ฆฐํ„ฐ
  • screen : ์ปดํ“จํ„ฐ ํ™”๋ฉด
  • speech : ์Šคํฌ๋ฆฐ ๋ฆฌ๋”
์กฐ๊ฑด(๋„ˆ๋น„ ๋ฐ ๋†’์ด)

width(ํ˜น์€ height)๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ ํฌ๊ธฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

@media screen and (width: 600px) {
	body {
		color : red;
	}
}โ€‹

min- ํ˜น์€ max- ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ด๊ฒŒ ๋˜๋ฉด ์ตœ์†Œ๊ฐ’์ธ์ง€ ์ตœ๋Œ€๊ฐ’์ธ์ง€ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

//๋ทฐํฌํŠธ๊ฐ€ 400px ๋ณด๋‹ค ์ข์€ ๊ฒฝ์šฐ ์ƒ‰์„ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋งŒ๋“ค๊ธฐ 
@media screen and (max-width: 400px) {
    body {
        color: blue;
    }
}

๐Ÿ•Š ์™„์„ฑ์ž‘

 

๐Ÿ•Š ์ฐธ์กฐ ์‚ฌ์ดํŠธ

http://www.lenclume.co.uk

 

1. MainArea ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ

1. background-image URL์€ ์ด๋ฏธ์ง€ ์ฃผ์†Œ ๋ณต์‚ฌํ•ด์„œ ๋„ฃ๊ธฐ. (์ด๋ฏธ์ง€ ์ฐธ์กฐ : unsplash)

 
2. ์‚ฌ์ง„ ๊ฐ€์šด๋ฐ ์ •๋ ฌ
 
display: flex;
justify-content: center;
align-items: center;
 

3. ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

 
transition: 0.5s;
 
4. div.text 
div์˜ text ๋ณ€๊ฒฝ.  MainArea์— ์ ์šฉ๋œ๋‹ค.
 
5. @media only screen and (max-width: ${BREAK_POINT_TABLET}px)
 
๋ทฐํฌํŠธ์˜ ๋„ˆ๋น„๊ฐ€ ์ตœ๋Œ€ 768 ํ”ฝ์…€์ด๋ฉด ์ฟผ๋ฆฌ ์•ˆ์˜ CSS ์Šคํƒ€์ผ์ด ์ ์šฉ ๋œ๋‹ค.
 
6. ์œ„์˜  div.text ๋ฅผ ์ฟผ๋ฆฌ ์•ˆ์— ๋„ฃ์–ด์ค€๋‹ค. 
 
Render.js

import styled from "styled-components";
import "../App.css";

const BREAK_POINT_TABLET = 768;

const MainArea = styled.div`
  background-image: url(https://images.unsplash.com/photo-1610641818989-c2051b5e2cfd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2670&q=80);
  background-repeat: no-repeat;
  background-position: center;

  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 864px;
  height: 100vh;
  width: 100%;
  transition: 0.5s;

  div.text {
    p {
      transition: 0.5s;
      color: white;
      font-size: 150px;
    }
  }

  @media only screen and (max-width: ${BREAK_POINT_TABLET}px) {
    background-image: url(https://images.unsplash.com/photo-1551918120-9739cb430c6d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=987&q=80);
    transition: 0.5s;
    div.text {
      p {
        transition: 0.5s;
        color: white;
        font-size: 60px;
      }
    }
  }
`;

const Render = () => {
  return (
    <>
      <MainArea>
        <div className="text">
          <p>Enjoy Hawaii</p>
        </div>
      </MainArea>
    </>
  );
};

export default Render;

 

2. App.css

1. ๊ตฌ๊ธ€ ํฐํŠธ์—์„œ importํ•˜๊ธฐ

+ ๋ฒ„ํŠผ์œผ๋กœ ํฐํŠธ ์„ ํƒํ•œ ๋’ค Use on the web @import ๋ผ๋””์˜ค ๋ฒ„ํŠผ ํด๋ฆญ. ์Šคํƒ€์ผ ํƒœ๊ทธ ์•ˆ์— ์žˆ๋Š” ๊ตฌ๋ฌธ css ํŒŒ์ผ ์ƒ๋‹จ์— ์ž…๋ ฅํ•œ๋‹ค.

CSS rules to specify families ์—์„œ font-family: 'Satisfy' ๋ฅผ *  ์ „์ฒด ์„ ํƒ์ž์— ์ž…๋ ฅํ•œ๋‹ค.

 

App.css

@import url("https://fonts.googleapis.com/css2?family=Concert+One&family=Satisfy&display=swap");

* {
  font-family: "Satisfy";
  box-sizing: border-box;
  padding: 0px;
  margin: 0px;
  list-style: none;
  text-decoration: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  display: none;
}

body {
  height: 100%;
  overflow: scroll;
}

 

๋ทฐํฌํŠธ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ ๋งŒ์œผ๋กœ๋„ ์•ˆ์ •๊ฐ์žˆ๋Š” ๋ฐ˜์‘ํ˜• ์›น ํŽ˜์ด์ง€๊ฐ€ ๋๋‹ค. 

๋ ˆํผ๋Ÿฐ์Šค ์‚ฌ์ดํŠธ์—์„œ ๋ฐฐ๊ฒฝ ํŠธ๋ Œ์ง€์…˜ ํ•˜๋Š”๊ฒŒ ๊ฐ„๋‹จํ•ด๋ณด์—ฌ ๋„์ „ํ–ˆ๋Š”๋ฐ ์•„์ง ์ ์šฉ๋ฒ•์ด ์–ด์ƒ‰ํ•ด์„œ ์€๊ทผํžˆ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค. 

์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ ์ž‘์„ฑํ•˜๋Š”๊ฒƒ๋„ ์–ด๋ ต์ง€๋งŒ ์Šคํ”„๋ฆฐํŠธ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉด์„œ ์ ์žฌ์ ์†Œ์— ๋„ฃ๊ณ  ํƒœ๊ทธ ์ง€์šฐ๋ฉด์„œ ํ•˜๋Š” ์Šคํ‚ฌ์ด ๋” ํ•„์š”ํ•˜๋‹ค.

๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” ์กฐ๊ธˆ ๋” ๋””๋ฒจ๋กญํ•ด ์บ”๋ฒ„์Šค ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•ด ์™„์„ฑ๋„ ๋†’์€ ๋ฐ˜์‘ํ˜• ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ด๋ด์•ผ๊ฒ ๋‹ค.