CSS Grid를 사용한 고급 체크 박스 스타일링
그만큼 CSS 그리드 레이아웃 모듈 레이아웃 문제의 맘모스뿐만 아니라 우리가 해왔 던 좋은 오래된 멀 리쉬 이슈를 해결할 수 있습니다. 오랫동안 다루고있다., 와 같은 체크 박스 레이블 스타일 지정하기.
레이블이 나타날 때 스타일을 지정하는 비교적 간단한 방법이 있지만 후 체크 박스는 라벨이 나타날 때 쉽지 않습니다. 전에 그것.
CSS Grid가없는 체크 박스 스타일
레이블 스타일 지정하기 후 체크 박스는 개발자가 어딘가에 대해 읽은 이후로 지금까지 해왔 던 것입니다. 이 기술은 CSS가 소유 할 수있는 강력한 역학의 예가 될 수 있습니다..
이미 익숙한 코드는 다음과 같습니다. 라벨의 스타일을 지정합니다. 후 체크 된 체크 박스:
입력 : checked + label / * style me * /
에이 스타일 라벨 후 체크 박스 다음과 같이 보일 수 있습니다 (그러나 다른 스타일 규칙도 사용할 수 있습니다).
위의 CSS 코드는 인접 형제 조합 자 에 의해 표시 +
키. 체크 박스가 : 확인 됨
상태, 요소 후 그것 (일반적으로 레이블)은이 방법을 사용하여 스타일을 지정할 수 있습니다.
그런 간단하고 효과적인 기술! 수 혹시 그걸로 잘못 됐어? Nothing - 라벨을 표시 할 때까지 전에 체크 박스.
인접한 형제 조합 자 다음 요소를 선택한다.; 이것은 레이블이 있어야 함을 의미합니다. 후 HTML 소스 코드의 체크 박스.
라벨을 표시하려면 전에 화면의 소속 확인란을 선택하면 소스 코드의 확인란 앞에 이전 형제 선택기가 CSS에 없습니다..
하나의 옵션 만 남깁니다. 체크 박스와 레이블의 위치를 재조정 ~을 사용하여 변환
또는 위치
또는 여유
또는 일종의 텔레 키네틱 기능을 가진 다른 CSS 속성을 사용하여 레이블이 화면의 체크 상자 왼쪽에 표시되도록합니다.
전통적인 방법의 문제점
아무것도 없다. 크게 전술 한 기술에 문제가 있지만 그럴 수 있습니다. 어떤 경우에는 비효율적이다.. 다시 말하면 확인란과 레이블의 위치가 더 이상 작동하지 않는 경우입니다..
생각 해보세요., 예를 들면. 표시되는 장치에 따라 확인란의 크기를 조정하거나 위치를 변경해야 할 수 있습니다. 그런 일이 생기면 레이블의 위치를 다시 지정해야합니다., 확인란의 위치 변경 / 크기 조정에 대한 응답으로 레이블에 자동 재 정렬이 수행되지 않으므로.
우리가 할 수만 있다면이 단점을 없앨 수 있습니다. 확인란과 레이블에 대한 단색 레이아웃을 제공하십시오., 페이지에 대략 배치하는 대신.
그러나 테이블이나 열과 같은 거의 모든 레이아웃 시스템에서는 소스 코드의 확인란 앞에 레이블을 추가하십시오. 화면에 같은 방식으로 나타납니다. 라벨의 다음 요소 선택기가 작동을 멈추기 때문에 우리가 원하지 않는 일입니다..
반면 CSS 그리드는 다음과 같은 레이아웃 시스템입니다. 아니 소스 코드의 요소 배치 / 순서에 따라 달라집니다..
그리드 레이아웃의 재정렬 기능이 의도적으로 영향을줍니다. 비주얼 렌더링 만, 소스 순서에 따라 음성 순서 및 탐색을 남깁니다. 이 기능을 사용하면 제작자는 소스 순서를 그대로 유지하면서 시각적 표현을 조작 할 수 있습니다 ... - CSS Grid Layout Module Level 1, W3C
따라서 CSS 그리드는 나타나는 라벨에 스타일을 지정하십시오. 전에 체크 박스.
CSS Grid를 사용한 체크 박스 스타일링
HTML 코드부터 시작해 보겠습니다.. 체크 박스와 라벨의 순서는 이전과 동일하게 유지됩니다.. 그리드에 두 요소를 추가하기 만하면됩니다..
첨부 된 CSS는 다음과 같습니다.
#cbgrid display : grid; grid-template-areas : "왼쪽 오른쪽"; 너비 : 150px; 입력 [type = checkbox] 격자 영역 : 오른쪽; label grid-area : 왼쪽;
CSS 격자가 어떻게 작동하는지에 대해서는 자세히 설명하지 않겠다. 주제에 대한 자세한 기사, 당신이 여기서 읽을 수 있습니다. 그러나 몇 가지 기본 사항 : 표시 : 눈금
속성은 요소를 그리드 컨테이너로 변환합니다., 그리드 영역
요소가 속한 그리드 영역을 식별하고, 그리드 템플릿 영역
다른 그리드 영역으로 구성된 그리드 레이아웃을 형성합니다..
위의 코드에는 두 개의 격자 영역: "왼쪽"
과 "권리"
. 그들은 위로 만든다. 그리드 행의 두 열. 이 체크 박스는 "권리"
영역 및 레이블을 "왼쪽"
. 여기에 그들이 화면에서 보는 모습:
소스 코드에서 체크 박스와 레이블의 상대적인 배치를 변경하지 않았으므로 여전히 인접한 형제 조합자를 사용합니다.:
입력 : checked + label / * style me * /
표 항목은 다음과 같습니다. 항상 막혔다.; 그것으로 알려진 상자와 함께 나타납니다 그리드 수준 상자. 레이블과 같이 원하지 않으면, 그 항목에 래퍼 넣기 (다른 요소로 감싸기) 그리고 그 래퍼를 그리드 영역으로 바꾼다..
그게 전부입니다. CSS 그리드를 사용하면 건방진 확인란의 레이아웃을 손쉽게 잡을 수 있습니다..