๋ค์ด๊ฐ๊ธฐ
์์ด์ฝ์ ๋งํฌ๋ฅผ ๊ฑธ๊ณ , ๊ฒ์์ฐฝ์ ๋ง๋ค ๊ฒ์ด๋ค.
๐์์ด์ฝ์ ๋งํฌ ๊ฑธ๊ธฐ
๋จผ์ ๋ง์์ ๋๋ ์์ด์ฝ ์ด๋ฏธ์ง๋ฅผ ์ฐพ๋๋ค.
<a href="#" >
<img src="main images/menu.png" width="45px" alt="image">
</a>
์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ค.
1. href : ๊ฒ์ํ์ผ๋ก ์ด๋ํ๋ ๋งํฌ.
2. width : ํ๋ฉด์ ๋ณด์ฌ์ง๋ ํฌ๊ธฐ.
3. alt : ์ด๋ฏธ์ง๊ฐ ์๋ํ๋ ๋ ๋์ ๋ณด์ฌ์ง๋ ๊ธ.
๐ ๊ฒ์์ฐฝ
๊ฒ์์ฐฝ๋ ๋ด๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ ธ๊ฐ์ผํ๋๊ฑด๊ฐ ์๊ฐํ์ง๋ง, ๊ฒ์ํด๋ณด๋ ๋ด๊ฐ ์ํ๋ ๋ชจ์์ผ๋ก ๋ง๋๋ ์๋ฃ๊ฐ ์์๋ค.
๊ต์ฅํ ๋์ ์ธ ์๋ฃ์์ง๋ง ๋ ๋ณํ๊ฐ ์๋ ๊ฒ์ ์ํด์ ๋ฐ์ํ์ ์ ์ธํ์๋ค.
๊ตฌ์ ์ค๊ณ๋๋ ๋๋ณด๊ธฐ๊ฐ ์ข์ธก์ ์์ง๋ง, ( ๋ฏธ์ ์ผ๋ก ์ด์๋ค๊ณ ์๊ฐํ์์ )
๊ฒ์ํ ๊ธ์๋ฅผ ์ ๋ ฅํ๊ณ ๊ฒ์! ์ ํ๋ ค๋ฉด ๊ฒ์์ผ๋ก ์ ํ๋๋ ๋งํฌ ๋ฒํผ ( ๋๋ณด๊ธฐ ) ๊ฐ ์ฐ์ธก์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํด์ ๋ฐ๊ฟจ๋ค.
< HTML ์ฝ๋ >
<div class="search-box">
<input type="text" class="search-txt" name="" placeholder=" ..HELLO"
onfocus="this.placeholder=''"
onblur="this.placeholder=' ...HELLO'">
<a class="search-btn" href="#">
<img src="main images/์์น.png" width="30px" alt="image">
</a>
</div>
< CSS ์ฝ๋ >
.search-box{
display: flex; /*flex ์ ๋ ฌ ์์*/
justify-content: center; /*๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ*/
padding:5px; /*์ฌ๋ฐฉ ์ฌ๋ฐฑ 10px*/
border-radius: 30px; /*ํ
๋๋ฆฌ ๋ชจ์๋ฆฌ 30px๋งํผ ๋๊ทธ๋๊ฒ*/
border: 3px solid white; /*ํ
๋๋ฆฌ 1px ์๊น*/
background-color: white; /*๋ฐ์ค ๋ฐฐ๊ฒฝ ์๊น*/
}
.search-txt{
text-align: center; /*placeholder ๊ฐ์ด๋ฐ ์ ๋ ฌ*/
display: flex; /*flex ์ ๋ ฌ ์์*/
align-items: center; /*์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ*/
justify-content: center; /*๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ*/
padding: 0; /*input ํ๊ทธ ๊ธฐ๋ณธ padding ์ ๊ฑฐ*/
width: 300px; /*๋๋น*/
border: none; /*ํ
๋๋ฆฌ ์ ๊ฑฐ*/
outline: none; /*input ํ๊ทธ ํฌ์ปค์ค์ outline ์ ๊ฑฐ*/
float: left; /*์๋ฆฌ๋จผํธ ์ผ์ชฝ๋ถํฐ ๋์ด*/
font-size: 16px; /*ํ์คํธ ํฌ๊ธฐ*/
line-height: 30px; /*์์ง ์ค์ ์ ๋ ฌ*/
}
.search-btn{
width: 30px; /*๋๋ณด๊ธฐ ๋๋น*/
height: 30px; /*๋๋ณด๊ธฐ ๋์ด*/
border-radius: 30px; /*ํ
๋๋ฆฌ ๋ชจ์๋ฆฌ 30px๋งํผ ๋๊ทธ๋๊ฒ*/
margin-right: 10px; /*๋๋ณด๊ธฐ ์ฐ์ธก์ ์ฌ๋ฐฑ ์์ฑ*/
}
๐ค placeholder ์ ๋ ฅ์นธ ๊พธ๋ฏธ๊ธฐ
- input ์ ๋ ฅ์นธ ์ฌ๋ผ์ง๊ฒ ๋ง๋ค๊ธฐ
<input class="gSearch" type="search" size="60"
placeholder="Google ๊ฒ์ ๋ฐ URL ์
๋ ฅ"
onfocus="this.placeholder=''" onblur="this.placeholder='Google ๊ฒ์ ๋ฐ URL ์
๋ ฅ'">
/*์ฝ๋ ์ถ์ฒ: https://rgy0409.tistory.com/3029 [์น์ ํํจ์์ ์ทจ๋ฏธ์ํ:ํฐ์คํ ๋ฆฌ]*/
ํต์ฌ ๊ธฐ์ ์ input ์์ ์์ ์๋ ์คํ์ผ์ ์๋ค.
placeholder / onfocus / onblur 3๊ฐ์ง ๊ธฐ์ตํ๊ธฐ
placeholder = "Google ๊ฒ์ ๋ฐ URL ์ ๋ ฅ" => ํฐ ๋ฐ์ดํ ์์ ๋ฌธ๊ตฌ๊ฐ ํ์๋จ
onfocus = "this.placeholde='' " => ํด๋ฆญํ์ ๋, placeholder ์ ๋ฌธ๊ตฌ๋ฅผ ์ฌ๋ผ์ง๊ฒ ํจ ( ='' ์ด๊ฒ์ ์์ ๋ฐ์ดํ์ )
onblur = "this.placeholder='Google ๊ฒ์ ๋ฐ URL ์ ๋ ฅ''' => input ์ฐฝ์ ์ ์ธํ ๋ค๋ฅธ ๊ณณ์ ํด๋ฆญํ์ ๋, ์์ ๋ฐ์ดํ ์์ ๊ธ์จ๊ฐ ๋ค์์ถ๋ ฅ๋จ
- ::placeholder ํฐํธ ํฌ๊ธฐ & ์ ๋ฐ๊พธ๊ธฐ
::placeholder ๋ผ๋ ์๋์ ํ์ ( pseudo selector ) ๊ฐ ์กด์ฌํ๋ฉฐ, ํด๋น ์ ํ์๋ฅผ ํ์ฉํด ์ฝ๊ฒ ํ ์คํธํ๋์ ์คํ์ผ์ ๋ณ๊ฒฝํ ์ ์๋ค.
< ์์ ์ฝ๋ >
input::placeholder {
color: red;
font-size: 1.2em;
font-style: italic;
}
< ํ์ฉํ ์ฝ๋ >
input::placeholder{
color: black;
font-weight: 600;
}
๋ ํผ๋ฐ์ค ์ฌ์ดํธ poetizer์ ๋ฒํผ์ด ๋ง์์ ๋ค์ด์ ๊ทธ๋๋ก ๋ฐ๋ผํด๋ดค๋ค.
์ด๋ก ์ธํด transition ์์ฑ์ ์๊ฒ ๋์๋ค.
๐ transition ์์ฑ
: ํ ๊ฐ์ง ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ๋ณํํ๋ ๊ฒ
์ด ์์ฑ์ผ๋ก ์ดํ ๊ณผ์ ์ ๋ถ๋๋ฝ๊ฒ ํ์ํ ์ ์๋ค.
( ๋ณดํต ํธ๋์ง์ ์ ์์์ ๋ง์ฐ์ค ์ค๋ฒ ํ์ ๋ ๋ณํ๊ฐ ๋ํ๋๋ค. )
trasition ์ 4๊ฐ์ง ์์ฑ |
transition-property ์์ฑ |
transition-duration ๊ธฐ๊ฐ |
transition-timing-function ์๊ธฐ ์ ํ |
transition-delay ์ง์ฐ |
๐ค transition ๋ฌธ๋ฒ
transition:
transition-property / transition-duration / transition-timing-function / transition-delay
transition-property | css ์์ฑ์ ์ง์ ํ๋ค. |
transition-duration | ํธ๋์ง์
์คํ ์๊ฐ. ์ด ์์ฑ์ ํญ์ ์ง์ ํด์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ 0s๊ฐ ์ ์ฉ๋๋๋ฐ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ๋ํ๋์ง ์๋๋ค. |
transition-timing-function | ํธ๋์ง์ ์ด ์คํ๋๋ ๋์ ์๋ ์ค์ . |
transition-delay | ์ธ์ ํธ๋์ง์ ์ ์์ํ ์ง ์ง์ . |
/*๊ธฐ๋ณธ๊ฐ*/
transition: all 0 ease 0;
< ํ์ฉํ ์ฝ๋ >
/*๊พธ๋ฐ์ด ๋ค์ด๊ฐ์ง ์์ ๊ธฐ๋ณธ ๋ฒํผ*/
.button{
border: 2px solid;
text-align: center;
text-decoration: none;
display: inline-block;
transition:all .4s; /*transition ํ์ฉ*/
margin: 0 20px 0 20px;
font-size: 16px;
font-weight: 600;
outline: none;
cursor: pointer;
}
/*๊พธ๋ฐ์ด ๋ค์ด๊ฐ ๋ฒํผ*/
.section-button{
height: 45px;
line-height: 42px;
border-radius: 30px;
color: white;
border-color: white;
min-width: 120px;
}
/*๋ง์ฐ์ค ์ค๋ฒ ํ์ ๋ ๋ณํ*/
.section-button:hover{
background: #ff512f;
border-color: #ff512f;
color: white;
}
๐ค transition-property ์์ฑ
: ์ด๋ค ์์ฑ์ ํธ๋์ง์ ํจ๊ณผ๋ฅผ ์ ์ฉํ ์ง๋ฅผ ์ง์ ํ๋ค.
transition-property : all / none / property
all | ๊ธฐ๋ณธ๊ฐ. ๋ชจ๋ ์์ฑ์ ํธ๋์ง์ ํจ๊ณผ๊ฐ ๋ํ๋๋ค. |
none | ์๋ฌด ์์ฑ๋ ํธ๋์ง์ ํจ๊ณผ๊ฐ ๋ํ๋์ง ์๋๋ค. |
property | ํธ๋์ง์
ํจ๊ณผ๋ฅผ ์ ์ฉํ๊ณ ์ถ์ css ์์ฑ. ( ํ๋ ์ด์์ ์์ฑ์ ๋์ดํ ๋ ์ผํ๋ก ๋ถ๋ฆฌํ๋ค. ) |
โ ํธ๋์ง์ ์ ์ฌ์ฉํ ์ ์๋ ์์ฑ์, ์์ง์ผ ์ ์๋ ์์ฑ๋ง ๊ฐ๋ฅํ๋ค. ( ์๋ ํ ์ฐธ๊ณ )
๐ flex ์์ฑ
๋ฌธ์ ๋ ์ฌ๊ธฐ์๋ถํฐ์์ผ๋...
๐ 1. section-option ํด๋์ค์ flex ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์ ๋ ฌ์ ํ์๋ค.
์ด๋ ๊ฒ ๋์ด์ flex ์ ๋ค์ด๊ฐ๋ ์์ดํ ๋ค์ margin์ ์ผ์ผํ ๋ฃ์ด์ ๋ง์ท์ง๋ง ์ด๋ ๊ฒ ํด์ผํ๋ ๊ฒ์ธ๊ฐ ์๋ฌธ์ ์ด ์๊ฒจ์
๋ ํผ๋ฐ์ค ์๋ฃ์ธ Poetizer ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
Poetizer - Social Network for All Poets
poetizer.com
๐ 2. section-option ํด๋์ค์ flex ๊ธฐ๋ฅ +
option-part ํด๋์ค์ width: 50% +
์ผ์ชฝ , ์ค๋ฅธ์ชฝ ์์ดํ ์ ๊ฐ๊ฐ part-left / part-right ์ถ๊ฐํ์ฌ text-align : left / right ์ ์ฉ
๋ ํผ๋ฐ์ค ์ฌ์ดํธ๋ flex ๋ฐ์ ์์ชฝ์ ์์นํ ์์ดํ ์ ๋ฌถ์ด ๊ฐ๊ฐ width: 50% ์ฉ ์ฃผ์๋ค.
/*๋ ํผ๋ฐ์ฆ ์ฌ์ดํธ ์ฝ๋*/
header .header__part.header__part--left {
text-align: left;
}
header .header__part.header__part--right {
text-align: right;
display: flex;
flex-wrap: nowrap;
flex: none;
justify-content: flex-end;
align-items: center;
}
header .header__part {
width: 50%;
}
์์ชฝ์ ์๋ ์์ดํ ๋ค์ text-align ์ ์ด์ฉํด ๊ฐ๊ฐ left, right ๋ฅผ ์ฌ์ฉํ๊ณ ,
width: 50%๋ฅผ ์ฃผ์๋ค.
๊ทธ๋๋ก ๋ฐ๋ผํ๋ ๊ฒ์์ฐฝ์ด ์ค๊ฐ ์์น๋ก ์ด๋๋์๋ค.
์ด ๋ถ๋ถ์ ๊ฐ์ด๋ฐ๋ก ๋ง์ถ๊ณ ์ถ์ด์
์ฒซ๋ฒ์งธ flex๋ฅผ ๋ ํผ๋ฐ์ค ์ฌ์ดํธ์ฒ๋ผ justify-content : space-between ๋์ด์๋ ๋ถ๋ถ์
center๋ก ๋ณ๊ฒฝํ๋ ์ํ๋๋๋ก ๋์๋ค.

์ ๊น๋ง~
์ฝ๋๋ฅผ ๋ ํผ๋ฐ์ค ์ฌ์ดํธ์ ๋ง์ถ๋ฉด์ ํ ๋ ์น์ฌ์ดํธ ํฌ๊ธฐ๊ฐ 100% ์ปค์ ธ ์์ ๋๋ ์ค๊ฐ์ด์ง๋ง ํ๋ฉด์ ์ค์ผ ๋๋ ๊ณต๊ฐ์ด ์ค์ด๋ค๋ฉด์ ์ ์ด์ํ ๋ชจ์์ด ๋์ค๊ฒ ๋๋ค.
.section-option{
margin: 30px auto;
display: flex; /* flex ์ ๋ ฌ ์์ */
flex-direction: row; /* ๋ฐฐ์น ๋ฐฉํฅ ์ค์ */
justify-content: center; /* ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ */
align-items: center; /* ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ */
flex-wrap: nowrap;
max-width: 100%;
clear: both;
position: relative;
/*padding: 0 100px 0 100px; padding์ด ํ๋ฉด ์ค์ด๋ฉด ์ผํฐ ์ ๋ ฌ์ ๋ฐฉํด๋จ ๊ทธ๋์ ์ง์ ์*/
}
ํด๋์ค ์ค padding ๋ถ๋ถ์ ์ง์ฐ๋ ๋ด๊ฐ ์ํ๋ ๋ชจ์์ด ๋์ค๊ฒ ๋๋ค.
์์ฝ
/*์๋ ํด๋์ค ํ๋ ๋ง์ผ๋ก๋ ๊ฒ์์ฐฝ์ด ์ค๊ฐ ์ ๋ ฌ์ด ์๋๋ค.*/
.section-option{
margin: 30px auto;
display: flex; /* flex ์ ๋ ฌ ์์ */
flex-direction: row; /* ๋ฐฐ์น ๋ฐฉํฅ ์ค์ */
justify-content: center; /* ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ */
align-items: center; /* ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ */
flex-wrap: nowrap;
max-width: 100%;
clear: both;
position: relative;
/*padding: 0 100px 0 100px; padding์ด ํ๋ฉด ์ค์ด๋ฉด ์ผํฐ ์ ๋ ฌ์ ๋ฐฉํด๋จ ๊ทธ๋์ ์ง์ ์*/
}
/*์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฒ์์ฐฝ์ด ์ค๊ฐ ์ ๋ ฌ์ด ๋๋ค*/
/*ํด๋์ค ๋ถ์ฌ์ฐ๋ ๊ฑธ ์์ง๋ง์*/
.section-option.option-part{
width: 50%;
}
.section-option.option-part.part-left{
text-align: left;
}
.section-option.option-part.part-right{
text-align: right;
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
< html ์ ์ฒด ์ฝ๋ >
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IR.Write</title>
<link rel="stylesheet" href="style.css">
</head>
<style>
</style>
<body>
<div class="back-container">
<header>
<h1 class="head">IR.Write</h1>
</header>
<section>
<div class="section-option">
<div class="section-option option-part part-left">
<a href="#">
<img src="main images/menu.png" width="45px" alt="image">
</a>
</div>
<div class="search-box">
<input type="text" class="search-txt" name="" placeholder=" ..HELLO"
onfocus="this.placeholder=''"
onblur="this.placeholder=' ...HELLO'">
<a class="search-btn" href="#">
<img src="main images/์์น.png" width="30px" alt="image">
</a>
</div>
<div class="section-option option-part part-right">
<a href="#" class="section-login">Login</a>
<a href="#" class="button section-button">Get started</a>
</div>
</div>
</section>
</div>
</body>
</html>
< CSS ์ ์ฒด ์ฝ๋ >
html,body{
width: 100%;
height: 100%;
margin: 0;
}
.back-container{
width: 100%;
height: 100%;
position: relative;
z-index: 1;
}
.back-container::after{
margin: 0;
width: 100%;
height: 100%;
background: url("./images/forest.png");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
position: absolute;
content: "";
top: 0;
left: 0;
z-index: -1;
filter: blur(5px);
}
.head{
margin: 0;
text-align: center;
padding: 30px;
color: white;
}
header{
margin: 0;
}
.section-option{
margin: 30px auto;
display: flex; /* flex ์ ๋ ฌ ์์ */
flex-direction: row; /* ๋ฐฐ์น ๋ฐฉํฅ ์ค์ */
justify-content: center; /* ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ */
align-items: center; /* ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ */
flex-wrap: nowrap;
max-width: 100%;
clear: both;
position: relative;
/*padding: 0 100px 0 100px; padding์ด ํ๋ฉด ์ค์ด๋ฉด ์ผํฐ ์ ๋ ฌ์ ๋ฐฉํด๋จ ๊ทธ๋์ ์ง์ ์*/
}
.search-box{
display: flex;
justify-content: center;
padding:5px; /*์ฌ๋ฐฉ ์ฌ๋ฐฑ 10px*/
border-radius: 30px; /*ํ
๋๋ฆฌ ๋ชจ์๋ฆฌ 30px๋งํผ ๋๊ทธ๋๊ฒ*/
border: 3px solid white; /*ํ
๋๋ฆฌ 1px ์๊น*/
background-color: white;
}
.search-txt{
text-align: center; /*placeholder ๊ฐ์ด๋ฐ ์ ๋ ฌ*/
display: flex; /*flex ์ ๋ ฌ ์์*/
align-items: center; /*์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ*/
justify-content: center; /*๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ*/
padding: 0; /*input ํ๊ทธ ๊ธฐ๋ณธ padding ์ ๊ฑฐ*/
width: 350px; /*๋๋น*/
border: none; /*ํ
๋๋ฆฌ ์ ๊ฑฐ*/
outline: none; /*input ํ๊ทธ ํฌ์ปค์ค์ outline ์ ๊ฑฐ*/
float: left; /*์๋ฆฌ๋จผํธ ์ผ์ชฝ๋ถํฐ ๋์ด*/
font-size: 16px; /*ํ์คํธ ํฌ๊ธฐ*/
line-height: 30px; /*์์ง ์ค์ ์ ๋ ฌ*/
}
.search-btn{
width: 30px;
height: 30px;
border-radius: 30px; /*ํ
๋๋ฆฌ ๋ชจ์๋ฆฌ 30px๋งํผ ๋๊ทธ๋๊ฒ*/
margin-right: 10px; /*๋๋ณด๊ธฐ ์ฐ์ธก์ ์ฌ๋ฐฑ ์์ฑ*/
}
.section-login{
font-size: 16px;
font-weight: 600;
text-decoration: none;
color: white;
display: inline-block;
line-height: 40px;
height: 40px;
margin: 0 20px 0 0; /*์ฐ์ธก ๋ฒํผ๊ณผ ๋์ด ๋ง์ถ๊ธฐ ์ํด ํ๋จ margin ์ถ๊ฐ*/
}
.button{
border: 2px solid;
text-align: center;
text-decoration: none;
display: inline-block;
transition:all .4s;
margin: 0 20px 0 20px;
font-size: 16px;
font-weight: 600;
outline: none;
cursor: pointer;
}
.section-button{
height: 45px;
line-height: 42px;
border-radius: 30px;
color: white;
border-color: white;
min-width: 120px;
}
.section-button:hover{
background: #ff512f;
border-color: #ff512f;
color: white;
}
.section-option.option-part{
width: 50%;
}
.section-option.option-part.part-left{
text-align: left;
}
.section-option.option-part.part-right{
text-align: right;
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
input::placeholder{
color: black;
font-weight: 600;
}
- ๊ฒ์์ฐฝ ๋ง๋ค๊ธฐ ์ค๋ช
[PCNJ] Hover effect Search ๊ฒ์์ฐฝ ๋ง๋ค๊ธฐ
[PCNJ] See the Pen pqbdyj by ์ด์ ์ค (@alencion) on CodePen. Youtube ์์ CSS์ฝ๋ ์ค๋ช
pcnjcwj.tistory.com
- ๊ฒ์์ฐฝ ์ ์ ๋ ฅ์นธ ๊พธ๋ฏธ๊ธฐ ์ค๋ช
https://rgy0409.tistory.com/3029
HTML5 input ํด๋ฆญํ๋ฉด ๊ธ์จ๊ฐ ์ฌ๋ผ์ง๊ณ ๋ฐํ์ ๋๋ฅด๋ฉด ๋ค์ ํ์๋๊ฒ ํ๋ ๋ฐฉ๋ฒ
์ ๋ชฉ์ด ์ข ๋งค๋๋ฝ์ง ๋ชปํ๋ฐ, ์ด๋ ๊ฒ ๊ฒ์๋ค์ ๋ง์ด ํ์ค๊น๋ด์ ์ ํด๋ดค์ต๋๋ค. ์ ์ญ์ ์ด ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ ค๊ณ ๋ฌด์ํ ๋ง์ ๊ฒ์๋ค์ ํ์์ต๋๋ค. ๊ฒฐ๊ตญ ๋ต์ ์ฐพ์๊ณ ์ ์ฒ๋ผ ๊ณ ์ํ์์ง ๋ง์๋ผ๊ณ ๊น
rgy0409.tistory.com
- ::placeholder ๋ก ํฐํธ ํฌ๊ธฐ & ์ ๋ฐ๊พธ๊ธฐ ์ค๋ช
[CSS] ::placeholder๋ก ํ ์คํธ์ธํ ํ๋ ์ด์คํ๋ ํฐํธ ํฌ๊ธฐ & ์ ๋ฐ๊พธ๊ธฐ
ํ ์คํธ์ธํ์ ํฐํธ ์คํ์ผ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ์ด์ ์๋ ๊ฐ vendor๋ณ prefix๋ฅผ ํ์ฉํ ์์ฑ์ ๋ณ๋๋ก ์ ์ํด ์ฃผ์ด์ผ ํ์ต๋๋ค. CSS์ ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ::placeholder๋ผ๋ ์๋์ ํ์(pseudo selector)๊ฐ ์กด์ฌํ๋ฉฐ,
uxdev.org
- transition ์์ฑ ์ค๋ช
https://aboooks.tistory.com/383
[css3] transition ์์ฑ(transition-property/transition-duration/transition-timing-function/transition-delay )
[css3] transition ์์ฑ ์ค๋ ๋ฐฐ์ธ ์์ฑ์ transition ์ ๋๋ค. transition์ ํ ๊ฐ์ง ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ๋ณํํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋น๊ฐ 100px ์๋ค๊ฐ ๋ง์ฐ์ค ์ค๋ฒํ ๊ฒฝ์ฐ 200px๋ก ๋์ด๋
aboooks.tistory.com