할머니의 콤퓨타 도전기
[Vue.js] 클래스와 스타일 바인딩 본문
- 클래스와 스타일 바인딩
-
클래스 바인딩
- 코드 구현
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue Study</title> <style> .skyblue{ color: skyblue; } .font-bold{ font-weight: bold; } </style> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> </head> <body> <div id="app"> <!-- class 이름에 dash(-)가 있는 경우 ''로 묶어줘야함 --> <div :class="{skyblue: isSkyBlue, 'font-bold': isBold}">hello</div> <button @click="update">click!</button> </div> <script> new Vue({ el: '#app', data: { isSkyBlue: false, isBold: false }, methods: { update(){ this.isSkyBlue = !this.isSkyBlue; this.isBold = !this.isBold; } }, }) </script> </body> </html>
- 실행 화면
- 코드 구현
- 스타일 바인딩
- 구현 코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Study</title>
<style>
.skyblue {
color: skyblue;
}
.font-bold {
font-weight: bold;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<div :style="{color: blue, fontSize: size}">hello</div>
<div :class="{skyblue: isSkyBlue, 'font-bold':isBold}">hello</div>
<button @click="update">click!</button>
</div>
<script>
new Vue({
el: '#app',
data: {
isSkyBlue: false,
isBold: false,
blue: 'blue',
skyblue: 'skyblue',
size: '30px'
},
methods: {
update() {
this.isSkyBlue = !this.isSkyBlue;
this.isBold = !this.isBold;
}
},
})
</script>
</body>
</html>
- 실행 화면
Comments