1. ๊ฐ์ฒด ๊ตฌ๋ฌธ
1) v-bind ์ธ๋ผ์ธ ์คํ์ผ ๋ฐ์ธ๋ฉ ์ด์ฉ
- v-bind:style ๊ฐ์ฒด ๊ตฌ๋ฌธ์ ๋งค์ฐ ์ง์ค์ ์ผ๋ก, ๊ฑฐ์ CSS ์ฒ๋ผ ๋ณด์ด์ง๋ง JavaScript ๊ฐ์ฒด์ด๋ค.
- ์์ฑ ์ด๋ฆ์ camelCase์ kebab-case๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
activeColor: 'red',
fontSize: 30
}
2) ์คํ์ผ ๊ฐ์ฒด์ ์ง์ ๋ฐ์ธ๋ฉ ํ์ฌ ํ ํ๋ฆฟ์ด ๋ ๊ฐ๊ฒฐํ๋๋ก ๋ง๋๋ ๊ฒ์ด ์ข๋ค.
<div v-bind:style="styleObject"></div>
data: {
styleObject: {
color: 'red',
fontSize: '13px'
}
}
2. ๋ฐฐ์ด ๊ตฌ๋ฌธ
v-bind:style์ ๋ํ ๋ฐฐ์ด ๊ตฌ๋ฌธ์ ์ด์ฉํ์ฌ ์ฌ๋ฌ ๊ฐ์ ์คํ์ผ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
<div v-bind:style="[baseStyles, overridingStyles]"></div>
3. ์๋ ์ ๋์ฌ
v-bind:style์ ๋ธ๋ผ์ฐ์ ๋ฒค๋ ์ ๋์ด๊ฐ ํ์ํ CSS ์์ฑ (์: transform)์ ์ฌ์ฉํ๋ฉด Vue๋ ์๋์ผ๋ก ํด๋น ์ ๋์ด๋ฅผ ๊ฐ์งํ์ฌ ์คํ์ผ์ ์ ์ฉํ๋ค.
4. ๋ค์ค ๊ฐ ์ ๊ณต
2.3๋ฒ์ ๋ถํฐ ์คํ์ผ ์์ฑ์ ์ ๋์ฌ๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐฐ์ด๋ก ์ ๋ฌํ ์ ์๋ค.
<div v-bind:style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>
๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ๋ ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ๋ง ๋ ๋๋งํ๋ค. ์ด ์์ ์์๋ flexbox์ ์ ๋์ด๊ฐ ๋ถ์ง์์ ๋ฒ์ ์ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ์ ๋ํด display : flex๋ฅผ ๋ ๋๋งํ๋ค.
'๐ปWEB FrontEnd > ํ๋ ์์ํฌ Vue' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฌ์ฌ์ฉ & ์ปดํฌ์ง์ (2) - ์ฌ์ฉ์ ์ง์ ๋๋ ํฐ๋ธ (0) | 2021.02.26 |
---|---|
์ฌ์ฌ์ฉ & ์ปดํฌ์ง์ (1) - ๋ฏน์ค์ธ (0) | 2021.02.26 |
ํด๋์ค ๋ฐ์ธ๋ฉ (0) | 2021.02.25 |
v-model ๋ฐ์ธ๋ฉ (0) | 2021.02.25 |
CSR์ SSR์ ์ฅ๋จ์ (0) | 2021.02.08 |