반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- include지시자
- String char[] 형변환
- ObjectInputStream
- ID중복
- interrupted()
- 리눅스셋팅
- 표현 언어
- MemoryStream
- 상관 서브 쿼리
- 메모리스트림
- Daemon()
- sleep()메소드
- ThreadGroup()
- 스레드그룸
- first-of-child
- first-child
- include 지시자
- char[] String 형변환
- Linux세팅
- StringReader
- isinterrupted()
- 상관서브쿼리
- Linux셋팅
- include액션태그
- 아이디중복
- 동기화
- interrupt()
- InputDialog
- StringWriter
- 리눅스세팅
Archives
- Today
- Total
다연이네
[days05] CSS 전역변수와 document.querySelector 본문
반응형
전역변수
:root선택자 사용 -> var() 함수를 통해 사용 가능하다.
선언예시
<style>
:root{
/* --변수명:값; */
--blue:#1E90FF;
--white: #fff;
}
<style> 내에서 사용 예시
body{
background: var(--blue);
}
자바스크립트에서 사용할 때
var r = document.querySelector(":root");
var rs = getComputedStyle(r);
//getComputedStyle(r); - root로부터 스타일(속성명, 값들)을 얻어오는 함수
<script>
function getVariable() {
/* :root 선택자 */
//document.getElementById(id) 이렇게 가져올게 아니라
var r = document.querySelector(":root");
var rs = getComputedStyle(r); //암기
window.alert( rs.getPropertyValue('--blue') );
}
function setVariable() {
var color = document.getElementById("blueColor").value;
//window.alert( color );
var r = document.querySelector(":root");
r.style.setProperty("--blue",color);
//얻어올때는 getProperty 설정할때는 setProperty
}
</script>
rs.getPropertyValue('--blue'); -> --blue라는 전역변수의 속성 알아오기(가져오기)
r.style.setPropertyValue('--blue'); -> --blue라는 속성으로 설정하기
위의 Get CSS Variable ~ 버튼을 누르면 (텍스트와 상관없이) [현재 배경색인 #1E90FF]가 alert으로 뜬다.
우측 Set CSS Variable ~ 버튼을 누르면 옆의 텍스트 색상으로 배경 색이 변한다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<style>
/* 전역변수 :root선택자 사용 -> var() 함수를 사용해 사용가능 */
/* 변수 #1E90FF; */
:root{
/* --변수명:값; */
--blue:#1E90FF;
--white: #fff;
}
body{
background: var(--blue);
}
h2{
border-bottom: 2px solid var(--blue);
}
.container{
color: var(--blue);
background: var(--white);
padding: 15px;
}
.container button{
background: var(--white);
color:var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
</style>
</head>
<body>
<!-- css변수 -->
<h1>Lorem ipsum dolor sit amet.</h1>
<!-- .container>h2>lorem2^p*2>lorem15^button*2 -->
<div class="container">
<h2>Lorem ipsum.</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dicta ullam quae tempore aliquam commodi aperiam!</p>
<p>Cumque ipsum eius voluptatibus provident reiciendis fugiat veniam ratione fuga harum est maiores exercitationem architecto.</p>
<button>Yes</button>
<button>No</button>
</div>
<button onclick="getVariable()">Get CSS Variable with javascript</button>
<br>
<input type="text" id="blueColor" value="lightblue" />
<button onclick="setVariable()">Set CSS Variable with javascript</button>
<script>
function getVariable() {
/* :root 선택자 */
//document.getElementById(id) 이렇게 가져올게 아니라
var r = document.querySelector(":root");
var rs = getComputedStyle(r); //암기
//getComputedStyle(r); - root로부터 스타일(속성명, 값들)을 얻어오는 함수
window.alert( rs.getPropertyValue('--blue') );
}
function setVariable() {
var color = document.getElementById("blueColor").value;
//window.alert( color );
var r = document.querySelector(":root");
r.style.setProperty("--blue",color);
//얻어올때는 getProperty 설정할때는 setProperty
}
</script>
</body>
</html>
반응형
'Web > CSS' 카테고리의 다른 글
[days06] setTimeout/setInterval (0) | 2020.12.16 |
---|---|
[days05] 툴팁(Tooltip) (0) | 2020.12.09 |
[days05] 1) 로딩 이미지 처리 2) 이미지 흔들기 (0) | 2020.12.09 |
[days05] CSS 애니메이션 (0) | 2020.12.09 |
[days05] CSS 전환 - transition (0) | 2020.12.09 |
Comments