[하루한글] 엘리먼트 쿼리 > 반응형

반응형

[하루한글] 엘리먼트 쿼리 정보

반응형화 [하루한글] 엘리먼트 쿼리

본문

(저때문에 반응형화 게시판이 너무 경직되는 경향이 있어서 고민을 했는데.. 그냥 계속 제 스탈대로 하기로 했어요 ^^;  싫으신 분들은.. 저보다 글을 더 많이 쓰면 되시겠죠? ^^)

 

반응형 웹의 핵심요소 중의 하나인 CSS 미디어 쿼리 (media-queries)를,

웹 엘리먼트들 하나 하나에 적용하자는 아이디어인데요..

이유는, 아무래도 (css+html 묶음의) 컴포넌트 단위 재사용성을 높이자는 것이죠.

 

(아래 코드 출처: 스매싱매거진)

 

* 엘리먼트 쿼리 예

nav (min-width: 520px) {
    display: block;
} 

 

* 기존 미디어 쿼리 사용 경우

 

@media all and (min-width: 520px) {
    nav {
        display: block;
    }
}

 

일단 코드량이 줄어든다는 장점은 있지만, 전체 css 코드를 합쳤을때 화면경계치 미디어 쿼리가 여기 저기 흩어져 있어지는 단점이 있어보입니다.

 

css 표준이 아니니, 당연히 브라우져 지원은 없고, 폴리필 들이 있습니다.

 * https://github.com/tysonmatanich/elementQuery

 * http://marcj.github.io/css-element-queries/

 * https://github.com/Mr0grog/element-query

 

하지만, 현재의 문법? 상에는 '반복'의 문제가 있습니다. 아래 코드에서 보면, 해당 요소의 폭이 500px보다 크면, 폭을 200px로 줄이게 되는데, 그러면 더이상 해당 조건을 만족하지 않게 됩니다.  

 

.element (min-width: 500px)     width: 200px;
}

 

이런 문제를 해결하기 위해서, 엘리먼트 자체가 아닌 child 엘리먼트에만 적용되도록 한, 콘테이너 쿼리제안되긴 했는데, 아직 대중적으로 받아들여지진 않는것 같습니다.

 

 

추천
4

댓글 2개

흥미를 가지고 주욱 읽다가 아직 지원 브라우저가 없다는 대목에서 좌절ㅋㅋㅋ
(그래도 폴리필이란 용어는 처음 들었는데, 이렇게 또 하나 알아가네요~감사합니다)
네, 브라우져 지원이.. ^^;

그래도 위 폴리필이, 미디어쿼리 폴리필하고 그다지 큰 차이가 없으니까,
미디어쿼리 기반 반응형 웹을 구형 브라우져에서 한다면 어짜피 respond.js 던가요? 그것을 써야하니가, 위 js 폴리필을 사용하여 엘리먼크 쿼리를 사용해도 큰 차이는 없을것 같긴합니다.

문제는 위 내용이 앞으로 css 표준으로 들어오느냐.. 그래서 지금 코딩이 미래에는 js 폴리필 없이도 작동하느냐가 관건인데요..
반응형 이미지 (특히 srcset) 은 거의 표준으로 들어온 반면, 엘리멘트 쿼리는, 위에서 적은 문제점도 있고 해서 쉽게 들어오지는 않을것 같아요..

그런면에서도, 만일 컴포넌트 재사용성을 위한다면, 구글에서 미는 polymer 형태의 컴포넌트 재사용이 훨씬 가능성이 높지 않을까 하고요.. ^^;
전체 41 |RSS
반응형 내용 검색

회원로그인

진행중 포인트경매

  1. 참여40 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT