ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐ŸŽ‰์˜ค๋Š˜๋„ ์™„์„ฑ๋ณธ ๋จผ์ € ๐ŸŽ‰

header-search ๋ถ€๋ถ„์˜ css๊ฐ€ ์ฑ„์›Œ์ง€๋Š” ์ง€์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

ZeroCho 3๊ฐ•๊นŒ์ง€ ๊ณต๋ถ€ํ•œ ์™„์„ฑ๋ณธ ๋ชจ์Šต

html

<!doctype html>
<html lang="ko">
    <head>
        <meta charset="utf-8"> 
        <title>๋„ค์ด๋ฒ„</title> <!--์ƒ๋‹จ๋ฐ”์— ๋œจ๋Š” ์ด๋ฆ„ ํ‘œ์‹œ-->
        <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico"/> 
        <link rel="stylesheet" href="./naver.css">
    </head>
    <body>
        <header>
            <div id="header-center"> <!--๊ฐ€์šด๋ฐ ์ •๋ ฌ์šฉ div -->
                <div>
                    <span>๋„ค์ด๋ฒ„๋ฅผ ์‹œ์ž‘ํŽ˜์ด์ง€๋กœ</span>
                    <span>์ฅฌ๋‹ˆ์–ด๋„ค์ด๋ฒ„</span>
                    <span>ํ•ดํ”ผ๋นˆ</span>
                </div>
                <div id="header-search">
                    <a href="https://www.naver.com">
                    <h1>
                        <span>๋„ค์ด๋ฒ„</span>
                    </h1>
                    </a>
                    <h2 class="blind">๊ฒ€์ƒ‰์ฐฝ</h2>
                    <fieldset>
                        <legend class="blind">๊ฒ€์ƒ‰</legend>
                        <input />
                        <button>
                            <span class="blind">๊ฒ€์ƒ‰</span>
                            <span id="search-image"></span>
                        </button>
                    </fieldset> 
                </div>
            </div>
        </header>
        <nav>
            <ul> <!-- unordered list ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฆฌ์ŠคํŠธ--> <!--ol์€ ์ •๋ ฌ ์ˆซ์ž-->
                <li>๋ฉ”์ผ</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>์นดํŽ˜</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>๋ธ”๋กœ๊ทธ</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>์ง€์‹์ธ</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>์‡ผํ•‘</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>๋„ค์ด๋ฒ„ํŽ˜์ด</li> <!--list item๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ-->
                <li>๋„ค์ด๋ฒ„์‡ผํ•‘</li>
            </ul> 
        </nav>
        <main>
            <h2>์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰์–ด</h2>
            <h3>์—ฐํ•ฉ๋‰ด์Šค</h3>
            <ol>
                <li> ์ถฉ๊ฒฉ) ๋ฐฐ์†Œํ˜„ ๊ณต๋ถ€ ํ•˜๊ธฐ ์‹ซ์–ด ...</li>
                <li> ์†๋ณด) 11์›”๋‹ฌ ์•ˆ์—๋Š” html ๋๋‚ด์•ผ .. </li>
            </ol>
            <h3>์–ธ๋ก ์‚ฌ ๋ชฉ๋ก</h3>
            <ul>
                <li><img src="./๊ณต๊ฐ์–ธ๋ก  ๋‰ด์‹œ์Šค.png" alt="๋‰ด์‹œ์Šค" /></li>
                <li><img src="./๊ตญ๋ฏผ์ผ๋ณด.png" alt="๊ตญ๋ฏผ์ผ๋ณด"></li>
            </ul>
            <h3>๋กœ๊ทธ์ธ</h3>
            <h3>๋‰ด์Šค</h3>
            <h3>์‡ผํ•‘</h3>
        </main>
        <footer>
            <div>๊ณต์ง€์‚ฌํ•ญ</div>
            <div>creators</div>
            <div>ํšŒ์‚ฌ์†Œ๊ฐœ</div>
        </footer>
    </body>
</html>

 

CSS 

*{
    box-sizing:border-box;
}

/* Cascading Style Sheet */
/* ์„ ํƒ์ž(Selector) */
.blind { 
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    margin: -1px;
    width: 1px;
    height: 1px;
}

#header-center{
    margin: 0 auto;
    width: 1080px;
}

#header-search a{
    text-decoration: none;
}

#header-search h1 {
    width: 198px;
    height: 48px;
    display: inline-block;
    /*background-image: url(./sp_search.png);
    background-position: -4px -10px;
    background-repeat: no-repeat;*/
    background: url(./sp_search.png) -4px -4px no-repeat;
    vertical-align: middle;
    position: relative;
    top: -6px
}

#header-search h1 span { 
    display: none;
}

/*์ž์‹์„ ํƒ์ž*/

#header-search h2 {
    display: none;
}

#header-search fieldset {
    margin-left: 20px;
    /*padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 10px;
    padding-right: 0;*/
    padding: 12px 0 12px 10px;
    width:521px;
    height:49px;
    display: inline-block;
    border: 2px solid #03cf5d;
    vertical-align: middle;
    position: relative;
}

#header-search fieldset input {
    border: none;
    padding: 0;
    outline: none;
    vertical-align: top;
    width: 405px;
    height: 23px;
}

#header-search fieldset button {
    height: 49px; 
    width: 49px;
    border: none;
    padding: 0;
    background: #03cf5d; /*background์— ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋„ ๋„ฃ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ปฌ๋Ÿฌ๋„ ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ*/
   /*background-size: 30px 30px; ํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ์ด๋ฏธ์ง€ ์ž์ฒด์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง*/
   position: absolute;
   right: -2px;
   top: -2px;
}

#search-image { 
    background-image:url(./sp_search.png);
    background-position: -3px -60px;
    background-repeat: no-repeat;
    width: 21px;
    height: 21px;
    display: inline-block;
    margin: 14px;
}

[HTML,CSS] ํด๋ž˜์Šค(class) ์†์„ฑ

 

1. html์—์„œ์˜ ํด๋ž˜์Šค

ํด๋ž˜์Šค(class)๋Š” ์š”์†Œ๋“ค์„ ํŠน์ • ํด๋ž˜์Šค๋กœ ๋ฌถ๋Š” ์†์„ฑ์ด๋‹ค.

html์—์„œ ํด๋ž˜์Šค ์†์„ฑ์€ ์ฃผ๋กœ ๋™์ผํ•œ ํด๋ž˜์Šค์— ์†ํ•œ ์š”์†Œ๋“ค์—๊ฒŒ ๋™์ผํ•œ ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค. 

 

โœ” id์™€ class ์ฐจ์ด

๋จผ์ €, id ์†์„ฑ์€ ํƒœ๊ทธ์— ์œ ์ผํ•œ ์ด๋ฆ„์„ ๋ถ™์ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ class ์†์„ฑ์€ ๊ฐ™์€ ์œ ํ˜•์œผ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ํƒœ๊ทธ๋“ค์„ ์œ ํ˜•๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์“ด๋‹ค.

 

์ฆ‰, id ์†์„ฑ์€ ๋‹จ ํ•˜๋‚˜์˜ ์š”์†Œ์—๋งŒ ์“ธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‚˜ class ์†์„ฑ์€ ์œ ํ˜•๋ณ„๋กœ ๋™์ผํ•œ class๋ฅผ ์“ธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

2. css์—์„œ์˜ ํด๋ž˜์Šค

CSS์—์„œ ํด๋ž˜์Šค์— ๋”ฐ๋ผ์„œ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ์š”์†Œ์™€ ํด๋ž˜์Šค๋ฅผ ์ (.)์œผ๋กœ ์ด์–ด ํด๋ž˜์Šค ์„ ํƒ์ž๋ฅผ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

 

โœ” ํ˜•์‹

ํด๋ž˜์Šค(class)์— ์†ํ•œ ์š”์†Œ ์ค‘ ํŠน์ • ์š”์†Œ๋งŒ ์„ ํƒ : ์š”์†Œ๋ช….ํด๋ž˜์Šค๋ช…

ํŠน์ • ํด๋ž˜์Šค(class)์— ์†ํ•œ ์š”์†Œ๋“ค์„ ๋ชจ๋‘ ์„ ํƒ: ๋Š” ์•ž์˜ ์š”์†Œ๋ช…์„ ์ƒ๋žตํ•˜์—ฌ .ํด๋ž˜์Šค๋ช… ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ

p.sohyunee /*sohyuneeํด๋ž˜์Šค์˜ p์š”์†Œ*/
.sohyunee /*sohyuneeํด๋ž˜์Šค์˜ ๋ชจ๋“  ์š”์†Œ*/

 

โœ”id์™€ class์˜ ์ฐจ์ด์ 

id class
#์œผ๋กœ ์„ ํƒ . ์œผ๋กœ ์„ ํƒ
ํ•œ ๋ฌธ์„œ์— ๋‹จ ํ•˜๋‚˜์˜ ์š”์†Œ์—๋งŒ ์ ์šฉ  ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ ๋งŽ์Œ
ํŠน์ • ์š”์†Œ์— ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๋ฐ ์‚ฌ์šฉ  ์Šคํƒ€์ผ์˜ ๋ถ„๋ฅ˜(classification)์— ์‚ฌ์šฉ

 

๋„ค์ด๋ฒ„ ํ™ˆํŽ˜์ด์ง€์—์„œ ๊ฒ€์ƒ‰์ฐฝ ๋ถ€๋ถ„์˜ ๊ธ€์”จ๋“ค์€ ์›น ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•œ blind ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— blind ๋ผ๋Š” ํด๋ž˜์Šค๋กœ ๋ฏธ๋ฆฌ ๋ฌถ์–ด์ค€๋‹ค. ์—ฌ๊ธฐ์„œ ์›น ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•œ blind ์ฒ˜๋ฆฌ๋Š” ์‹œ๊ฐ์žฅ์• ์ธ ์œ ์ €๋“ค์„ ์œ„ํ•ด css์—๋Š” ์•ˆ๋ณด์ด์ง€๋งŒ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์—๋Š” ์ฝํžˆ๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

                    <h2 class="blind">๊ฒ€์ƒ‰์ฐฝ</h2>
                    <fieldset>
                        <legend class="blind">๊ฒ€์ƒ‰</legend>
                        <input />
                        <button>
                            <span class="blind">๊ฒ€์ƒ‰</span>
                            <span id="search-image"></span>
                        </button>
                    </fieldset>

 

 

[CSS] ์›น ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•œ CSS blind ์ฒ˜๋ฆฌ

 

์ฝ˜ํ…์ธ ๋ฅผ ์ˆจ๊ธฐ๋Š” ๋ฐฉ๋ฒ• ์ค‘

display: none /  visibility: hidden / font-size:0 / line-height: 0 / width:0 / height:0 ๊ณผ ๊ฐ™์ด ์ฝ˜ํ…์ธ ๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋กœ ์ฝ์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ ‘๊ทผ์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์‹œ๊ฐ์žฅ์• ์ธ๋“ค๊ณผ ๊ฐ™์€ ์œ ์ €๋“ค์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰, ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์—๋Š” ๋ณด์ด๋˜ ๋ˆˆ์—๋Š” ์•ˆ๋ณด์ด๊ฒŒํ•˜๋Š” ์›น ์ ‘๊ทผ์„ฑ์„ ๊ณ ๋ คํ•œ ์ฝ˜ํ…์ธ  ์ˆจ๊ธฐ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€์—†๋Š” clip ์†์„ฑ์„ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.

โœ” ๊ทธ๋Ÿฌ๋‚˜ clip ์†์„ฑ์„ ํ™œ์šฉํ•œ๋‹ค๊ณ  ๋ฌด์กฐ๊ฑด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์—˜๋ฆฌ๋จผํŠธ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ตœ์†Œ 1px ์ด์ƒ์œผ๋กœ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. (1px๋ณด๋‹ค ์ž‘์œผ๋ฉด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ๋ชป์ฝ์Œ)

 

[CSS]  clip ์†์„ฑ

clip ์†์„ฑ์€ ์š”์†Œ์˜ ํŠน์ • ๋ถ€๋ถ„๋งŒ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

์ด๋ฏธ์ง€๋“ค์„ ๊ฐ์ž ์ชผ๊ฐœ ๋ณด๋‚ด๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›์„ ํ•˜์ง€ ์•Š๋Š” ๋“ฑ์˜ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๋ฐฉ์— ์š”์ฒญ์ด ๊ฐ€๋Š” ํ•œ์žฅ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ์ด๋ฏธ์ง€ ์Šคํ”„๋ผ์ดํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ‘์— ์žˆ๋Š” ์ด๋ฏธ์ง€ ์ „์ฒด์—์„œ header-search ์—์„œ ํ™œ์šฉํ•  ๋ถ€๋ถ„์€ ์ผ๋ถ€์ด๊ธฐ ๋•Œ๋ฌธ์— clip ์†์„ฑ์„ ํ™œ์šฉํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ž˜๋ผ์ค€๋‹ค. 

 

 

 

๋Ÿผ

์‚ฌ์šฉํ•˜๋ ค๋Š” ์ด๋ฏธ์ง€

โœ”๋ฌธ๋ฒ•: clip: auto/ shape / inital / inherit

auto: ์š”์†Œ์˜ ๋ชจ๋“  ๋ถ€๋ถ„

shape: ํŠน์ • ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋„๋ก ์„ค์ • 

  • ํŠน์ • ๋ถ€๋ถ„๋งŒ ๋‚˜์˜ค๊ฒŒ ํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„์„ ์ •ํ•œ๋‹ค.
  • rect (<top>, <right>, <bottom>, <left>)

<top> : ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์œ„์น˜

<right> : ์™ผ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ๋๋‚˜๋Š” ์œ„์น˜

<bottom> : ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋๋‚˜๋Š” ์œ„์น˜

<left>: ์™ผ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์œ„์น˜

 

initial: ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •

inherit: ๋ถ€๋ชจ ์š”์†Œ์˜ ์†์„ฑ๊ฐ’์„ ์ƒ์†๋ฐ›์Œ 

/* ์ ‘๊ทผ์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ */
.blind {
	display: none; /*ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š๊ณ  ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋„ ์ฝ์–ด์ฃผ์ง€ ์•Š์Œ*/
} 

.blind { 
	visibility: hidden; /* ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š๊ณ  ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋„ ์ฝ์–ด์ฃผ์ง€ ์•Š์Œ*/ 
}

/* ์ ‘๊ทผ์„ฑ์— ๋ฌธ์ œ ์—†์Œ */ 
.blind { 
	position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

 

์ ‘๊ทผ์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์‚ดํŽด๋ณด์ž๋ฉด,

 

[CSS] position ์†์„ฑ

CSS์—์„œ position ์†์„ฑ์€ HTML ๋ฌธ์„œ ์ƒ์—์„œ ์š”์†Œ๊ฐ€ ๋ฐฐ์น˜๋˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•œ๋‹ค. ์ฆ‰, ํƒœ๊ทธ๋“ค์„ ๋ฐฐ์น˜ํ•ด์ฃผ๋Š” ์—ญํ• ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. 

 

๐Ÿคฆ‍โ™€๏ธ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๊ธ€๋„ ๋งŽ์•„์„œ ๋”ฐ๋กœ ๊ธ€ ์—…๋กœ๋“œ ํ–ˆ์œผ๋‹ˆ ์ฐธ๊ณ  ๐Ÿคฆ‍โ™€๏ธ

๋งํฌ : https://sohyxzn.tistory.com/5 

 

[CSS] position (ํฌ์ง€์…˜) ์†์„ฑ

position์€ ๋ฌธ์„œ ์ƒ์— ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. top, right, bottom, left ์†์„ฑ์ด ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. position ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ธฐ ์ „์— ์•Œ์•„์•ผํ•  ํŠน์ง•์€ position ์†์„ฑ์€ ์ƒ์†๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด

sohyxzn.tistory.com

 

[CSS] overflow ์†์„ฑ 

CSS์˜ overflow๋Š” ์š”์†Œ๋‚ด์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ๋„ˆ๋ฌด ์ปค์„œ ์š”์†Œ๋‚ด์— ๋ชจ๋‘ ๋ณด์—ฌ์ฃผ๊ธฐ ํž˜๋“ค๋•Œ ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„์ง€๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

์ฆ‰, ํŠน์ • ์š”์†Œ์˜ ์ž์‹ ์š”์†Œ๊ฐ€ ๋ถ€๋ชจ ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์ด๋‹ค. 

์ž์‹ ์š”์†Œ๊ฐ€ ๋ถ€๋ชจ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•จ์œผ๋กœ ๋ถ€๋ชจ์š”์†Œ์˜ overflow ์†์„ฑ ๊ฐ’์„ ๊ฒฐ์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. 

 

-๋ฌธ๋ฒ• 

overflow: visible / hidden / scroll / auto 

visible 

ํŠน์ • ์š”์†Œ๊ฐ€ ๋ฐ•์Šค๋ฅผ ๋„˜์–ด ๊ฐ€๋”๋ผ๋„, ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์ค€๋‹ค 

hidden 

๋ถ€๋ชจ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ž์‹์š”์†Œ์˜ ๋ถ€๋ถ„์€ ๋ณด์ด์ง€ ์•Š๊ฒŒ๋œ๋‹ค 

scroll

๋ถ€๋ชจ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ž์‹์š”์†Œ์˜ ๋ถ€๋ถ„์€ ๋ณด์ด์ง€ ์•Š์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํฌ๋กค๋ฐ”๋ฅผ ํ‘œ์‹œํ•ด์ค€๋‹ค. 

auto 

๋ถ€๋ชจ์š”์†Œ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ž์‹์š”์†Œ์˜ ๋ถ€๋ถ„์ด ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋ณด์ด์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ๋ถ€๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šคํฌ๋กค๋ฐ”๋ฅผ ํ‘œ์‹œํ•œ๋‹ค 

 

์•„๊นŒ์ „์—  blind์˜ ํด๋ž˜์Šค๋กœ ๋ฌถ์–ด๋‘” ๊ฒƒ๋“ค์„ ๋ชจ๋‘ blind ์ฒ˜๋ฆฌ ํ•ด์ค€๋‹ค. blind ์†์„ฑ๋“ค ์•”๊ธฐํ•ด๋‘๊ธฐ

.blind { 
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    margin: -1px;
    width: 1px;
    height: 1px;
}

 

 

๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์ฐฝ์„ ์ ์šฉํ•  ๋•Œ ์šฐ๋ฆฌ๋Š” ์ฝ˜ํ…์ธ  + ๋ณด๋” + ํŒจ๋”ฉ๊นŒ์ง€ ํ•ฉํ•œ๊ฑฐ๋ฅผ ์›ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์€ ์˜ค์ง ์ฝ˜ํ…์ธ ์ผ ๋ฟ์ธ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๊ฐœ๋…์ด ๋ฐ”๋กœ ๋ฐ•์Šค ๋ชจ๋ธ์ด๋‹ค. 

 

[CSS] ๋ฐ•์Šค ๋ชจ๋ธ

https://sohyxzn.tistory.com/7

 

[CSS] ๋ฐ•์Šค ๋ชจ๋ธ(Box-Model)

๐Ÿ‘€ ๋ฐ•์Šค ๋ชจ๋ธ HTML์˜ ์š”์†Œ๋Š” ๋ฐ•์Šค ๋ชจ๋ธ๋กœ ๋˜์–ด ์žˆ๋‹ค. ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ์š”์†Œ๋ฅผ ๋งŒ๋“ค ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด box ๊ฐ€ ์ƒ๊ธฐ๊ณ  ๊ทธ ๋ฐ•์Šค์— style์„ ์ฃผ์–ด ๋ฌธ์„œ๋ฅผ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฐ•์Šค ๋ชจ๋ธ์˜ ํฌ๊ธฐ

sohyxzn.tistory.com

 

[CSS] box - sizing ์†์„ฑ 

: box-sizing ์†์„ฑ์€ width, height ์†์„ฑ์˜ ๋Œ€์ƒ ์˜์—ญ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. 

box-sizing ์†์„ฑ์˜ ๊ธฐ๋ณธ ๊ฐ’์€ content-box์ด๋‹ค. ์ด๋Š” width, height ์†์„ฑ์˜ ๋Œ€์ƒ์˜์—ญ์ด content ์˜์—ญ์„ ์˜๋ฏธํ•œ๋‹ค. 

์ฆ‰, box-sizing ์†์„ฑ์˜ ๊ฐ’์„ border-box๋กœ ์ง€์ •ํ•˜๋ฉด ๋งˆ์ง„์„ ์ œ์™ธํ•œ ๋ฐ•์Šค ๋ชจ๋ธ ์ „์ฒด๋ฅผ width,height ์†์„ฑ์˜ ๋Œ€์ƒ ์˜์—ญ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. 

์šฐ๋ฆฌ๊ฐ€ ์›ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์ฐฝ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  css์— borderbox๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค. 

*{
    box-sizing:border-box;
}

ํ˜•์ œํƒœ๊ทธ์ž„์—๋„ css์˜ ๋†’๋‚ฎ์ด๊ฐ€ ์•ˆ๋งž์„ ์ˆ˜ ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด height ๊ฐ’์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

(a ํƒœ๊ทธ ์•ˆ์— ์žˆ๋Š” fieldset ์ •๋ ฌ ๊ฐ™๊ฒŒํ• ๋•Œ ์ ์šฉ) 

์ด๋•Œ๋Š” vertical-align ์†์„ฑ์„ ํ™œ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

[CSS] vertical-align ์†์„ฑ

vertical-align ์€ ์ธ๋ผ์ธ ๋ธ”๋ก ๋“ฑ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์ธ๋ผ์ธ์š”์†Œ์˜ ์ˆ˜์ง ์ •๋ ฌ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

์ ์šฉ๋Œ€์ƒ์€ ์ธ๋ผ์ธ ์š”์†Œ์™€ ํ…Œ์ด๋ธ” ์…€์ด๋‹ค. 

์œ ์˜์‚ฌํ•ญ:

1) inline์ด๋‚˜ inline-block ์š”์†Œ์—๋งŒ ์ ์šฉ์ด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ block ์š”์†Œ์ธ <div>๋Š” ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

2) ์š”์†Œ ์ž์ฒด๋งŒ์„ ์ •๋ ฌํ•˜๊ณ , ๋‚ด์šฉ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค. ๋‹จ, table cell์— ์ ์šฉํ• ๋•Œ๋Š” ์˜ํ–ฅ์„ ๋ฏธ์นจ

3) vertical - align ์€ ์ •๋ ฌํ•˜๋ ค๋Š” ์š”์†Œ๋ฅผ ๋‹ค๋ฅธ ์ธ๋ผ์ธ ์š”์†Œ์— ์ƒ๋Œ€์ ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ์ค„์—์„œ ์ธ๋ผ์ธ ์š”์†Œ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋†’๋‚ฎ์ด๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ณ  ๋˜ ๊ทธ ์ค„์— ์žˆ๋Š” line-height ์„ค์ •์— ๋”ฐ๋ผ์„œ๋„ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. 

 

#header-search h1 {
    width: 198px;
    height: 48px;
    display: inline-block;
    background: url(./sp_search.png) -4px -4px no-repeat;
    vertical-align: middle;
    position: relative;
    top: -6px
}

 

์—ฌ๊ธฐ์„œ ์„ค์ •ํ•œ verical - align: middle; ์€ ๋ถ€๋ชจ ์š”์†Œ ์ค‘์•™์— ์œ„์น˜ํ•˜๋ผ๋Š” ๋œป์ด๋ฏ€๋กœ header-search ์˜ ๋ถ€๋ชจ์ธ header-center์˜ ์ค‘์•™์— ์œ„์น˜๋˜๊ฒ ๋‹ค. vertical-align ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๊ณ ๋„ ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” position์„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

 

์ด์ œ ๋ฒ„ํŠผ์€ ๋ณด์ด๊ฒŒํ•˜๊ณ  ๋ฒ„ํŠผ์ด๋ผ๋Š” ๊ธ€์ž๋Š” ์•ˆ๋ณด์ด๊ฒŒ ํ•ด์•ผํ•˜๋‹ˆ ๋ณด์ด์ง€ ์•Š๊ณ  ์‹ถ์€ ๋ถ€๋ถ„ (ํƒ€๊ฒŸ)์— blind๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. 

 

                       <button>
                            <span class="blind">๊ฒ€์ƒ‰</span>
                            <span id="search-image"></span>
                        </button>

 

์ด์— ๋”ฐ๋ผ์„œ ๋ฒ„ํŠผ์—๋„ ๊ธฐ๋ณธ css๊ฐ€ ์ ์šฉ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์—†์• ์ค€๋‹ค. 

#header-search fieldset button {
    height: 49px; 
    width: 49px;
    border: none;
    padding: 0;
   position: absolute;
   right: -2px;
   top: -2px;
}

 

์‚ฌ์ง„์—์„œ ์›ํ•˜๋Š” ๋ถ€๋ถ„์„ ๋„ฃ๊ธฐ ์œ„ํ•ด background-size๋ฅผ ์‹œ๋„ํ•ด๋ณด๋‹ˆ ์‚ฌ์ง„ ์ž์ฒด์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€” ๋ฟ ์ž˜๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ, span์„ ํ™œ์šฉํ•ด ๊ฒ€์ƒ‰์šฉ ์ด๋ฏธ์ง€๋ฅผ ๋”ฐ๋กœ ๋‘”๋‹ค. ์›๋ž˜๋Œ€๋กœ ์ด๋ฆ„์„ ๋ถ™์ด์ž๋ฉด # header - search fieldset button.search-image ์ธ๋ฐ ๋„ˆ๋ฌด ๊ธธ์–ด ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ html์˜ id๋ฅผ ํ†ตํ•ด ๊ฐ„๋žตํžˆ ์ด๋ฆ„์„ search-image ๋ผ๊ณ  ์ง€์–ด์ค€๋‹ค. 

 

HTML

<button>
                            <span class="blind">๊ฒ€์ƒ‰</span>
                            <span id="search-image"></span>
                        </button>

CSS

#search-image { 
    background-image:url(./sp_search.png);
    background-position: -3px -60px;
    background-repeat: no-repeat;
    width: 21px;
    height: 21px;
    display: inline-block;
    margin: 14px;
}

 

์—ฌ๊ธฐ์„œ display๋ฅผ inline-block์œผ๋กœ ๋ฐ”๊ฟ” width์™€ height๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  background-position์„ ํ™œ์šฉํ•ด ์œ„์น˜๋ฅผ ์žก์•„์ค€๋‹ค. 

 

 


 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ