CSS3에서 새롭게 추가되거나 변경된 대표적인 기능
- 선택자(Selectors) Level 3
- 미디어 쿼리(Media Queries) Level 3
- 색(Color) Level 3
- 네임스페이스(Namespaces)
CSS 중급 요약 설명
- CSS level 3의 선택자, 가상 요소, @규칙(At-Rule), @media 등의 중급 기술에 속하는 CSS 기술을 학습하는 과정입니다.
- CSS를 더 체계적이고 효과적으로 활용하며, 다양한 기기 환경에 대응하는 방법을 알아봅니다.
요약 설명CSS3 모듈 part1 에서는 CSS3 모듈의 속성 중
- CSS positioned layout module Level 3
에 대한 내용을 다루고 있습니다.
- CSS background and border module Level 3
- CSS overflow module Level 3
CSS3는 새롭게 정의된 기능과 함께 이전 버전의 CSS 기능까지도 함께 포함하고 있는 모듈(module)이라는 것으로 구성됩니다.
CSS 초급에서 정의된 속성들 외에 CSS 모듈 레벨 3에 정의된 속성들에 대해 간략하게 설명합니다.
브라우저별로 지원 안 되는 부분이 많습니다.
safari 브라우저를 위한 webkit
접두어가 필요합니다.
Sticky positioning 속성을 적용한 박스는 평소에 문서 안에서 position: static
상태와 같이 일반적인 흐름에 따르지만
스크롤 위치가 임계점에 이르면 position: fixed
와 같이 박스를 화면에 고정할 수 있는 속성입니다.
아직 Working Draft 단계이며, IE 11 브라우저와 안드로이드 4.x 이하 버전에서 지원하지 않습니다.
최신 명세를 지원하는 브라우저에서는 이 속성이 동작하지만 지원 안 한 브라우저에서는 position: static
상태만 표시하기 때문에 어색하지 않게 표시할 수 있는 속성입니다.
overflow: hidden
속성을 적용한 박스가 끼어들면 sticky 박스는 일반적인 흐름에 따릅니다.
이전에는 Javascript만을 사용해 하나하나 구현해야 했다면, CSS만으로도 효과적인 구동효과(인터렉션)이 가능해졌으며,
날이 갈 수록 CSS 의 성능과 다양한 속성들이 추가됨에 따라 CSS 만으로 효과적인 구동 인터렉션을 줄 수 있게 되었습니다.
완전히 Javascript를 배제하긴 어렵고, 브라우저 하위 호환성도 고려해야 하지만
국내 에이전시에서 구축한 사이트와 해외 웹 사이트들의 화려한 인터렉션을 살펴보며 CSS로 대체가능한 부분을 연구하면서 조금씩 활용한다면 좋을것 같습니다.
position: sticky
속성을 지원하는 브라우저에만 이 스타일을 적용하려면 @supports
규칙을 이용할 수 있습니다.
단, 이방법 역시 @supports
규칙이 IE 11 브라우저에서 지원 안 하기에 적절하게 사용해야 합니다.
border-image
는 border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat
의 단축 속성입니다.
다른 단축 속성과 마찬가지로, 생략한 속성은 초기값으로 설정됩니다.
border-image-outset
CSS 속성은 요소의 테두리 상자와 테두리 이미지의 거리를 설정합니다.
border-image-outset
으로 인해 요소 바깥에 그려지는 테두리로는 스크롤이 생기지 않으며 마우스 이벤트를 잡아낼 수도 없습니다.
border-image-repeat
CSS 속성은 원본 이미지의 모서리 영역을 요소의 테두리 이미지 크기에 맞춰 조절할 때 사용할 방법을 지정합니다.
[ stretch | repeat | round | space ]{1,2}
원본 이미지의 모서리 영역을 늘리거나 줄여 간격을 채웁니다.
원본 이미지의 모서리 영역을 타일처럼 반복해 간격을 채웁니다. 크기가 맞지 않으면 마지막 이미지는 잘릴 수 있습니다.
원본 이미지의 모서리 영역을 타일처럼 반복해 간격을 채웁니다. 크기가 맞지 않으면 늘어나거나 줄어들 수 있습니다.
원본 이미지의 모서리 영역을 타일처럼 반복해 간격을 채웁니다. 크기가 맞지 않으면 각 타일에 균등하게 공백을 배치합니다.
border-image-slice
CSS 속성은 border-image-source로
설정한 이미지를 여러 개의 영역으로 나눕니다.
이렇게 나눠진 영역이 요소의 테두리 이미지를 이룹니다.
border-image-repeat, border-image-width, border-image-outset
속성이 최종 테두리 이미지에서 각 영역의 사용 방법을 지정합니다.
border-image-source
CSS 속성은 요소의 테두리 이미지로 사용할 원본 이미지를 지정합니다.
border-image-width
CSS 속성은 요소 테두리 이미지의 너비를 설정합니다.
속성의 값이 border-width
보다 크다면 테두리 이미지는 안쪽 여백(과 콘텐츠) 영역을 침범하여 그려집니다.
CSS Module Level 3
여러 줄의 말줄임시 사용합니다. webkit 계열 브라우저에서만 작동합니다.