FlexBox는 CSS 부실을 줄이는 훌륭한 도구이며 소스 주문 및 정렬과 같은 것들을 다루기 위해 설탕이 내장되어 있습니다. 그러나 컬럼과 거터 크기를 만드는 수학을 수행하는 데 도움이되지 않습니다. 많은 전문가들이 반복적으로 주 : Flexbox가 멋지지만 그리드 시스템이 아닙니다.
우리는 FlexBox를 사용해야하지만 디자인의 '지오 시대'에서 우리를 끌어 당긴 그리드 시스템 뒤에 기본 개념을 버려서는 안됩니다.
우리는 많은 FlexBox 그리드 시스템 중 하나를 사용할 수 있지만 모든 정직에서는 이들 뒤에있는 스타일은 주로 플로트 기반 그리드와 동일합니다. 저자는 FlexBox 등록 정보 (예 : 같은 클래스와 같은 클래스와 같은 클래스와 같은 클래스와 같은)를 난독 한 일부 도우미 클래스와 함께 컨테이너에 표시하기 만하면됩니다. .Grid-Vertical-Align-Mid. 난독 화이다 정렬 항목 : 센터 짐마자
유일한 차이점은 이제 열이 '굴곡'되어 있습니다. 즉, 우리는 앞서 언급 한 설탕을 얻습니다. 그러나 이것은 여전히 그리드가 직면 한 주요 문제를 해결하지 못합니다. 그리드 시스템은 여전히 CSS 부실의 톤을 출력하고 그리드는 여전히 지루합니다.
그리드 작성자는 일반적으로 일부 임의의 장치 크기에 따라 오프셋, 소스 주문, 정렬 및 크기를 조정할 수있는 CSS의 거대한 CSS를 배포합니다. 그들은 그 손상의 일부를 완화하기 위해 GZIP에 의존하지만, 이것은 모든 것을 얻지 못합니다. 그 여분의 기능이 필요하지 않으면 어떻게해야합니까?
현재 사용중인 프레임 워크가 그리드 믹스를 제공한다고 가정하면 최상의 솔루션은 자신의 열을 배우고 자신의 열을 작성하는 것일 수 있습니다. 이것은 거의 부 풀리지 만 그리드를 분수로 제한하고 다른 프레임 워크간에 많은 이동성을 제공하지 않습니다.
두 번째 문제로. 디자이너는 정신적으로 크기가 똑같이 크기 조합을 기반으로 모든 결정을 내리는 데 정신적으로 잠겨있었습니다. 결과적으로 전체 인터넷은 모바일의 스택으로 함께 흐려지기 시작합니다. 1/12 다른 것의 컬럼 조합은 'Dystopia.
FlexBox가 소개되었습니다 플렉스 - 자라 , 우리는 우리에게 조금 벗어났습니다. 이제 우리는 늘어나는 요소가있는 나머지 공간을 잘 보이고 나머지 공간을 채우는 크기를 설정할 수 있지만 지속적으로 페이지 전체에서 일관되게 줄 수 있습니까? 어떤 종류의 비율을 염두에두고있는 콘텐츠 구역이 있거나 우리는 그냥 날개를 찍는 것입니다.
이 두 문제 모두에 대한 해결책은 PostCSS-Ant라는 함수로 래핑됩니다. Postcss Plugins는 Webpack, Gulp 또는 단순히 명령 줄과 같은 다양한 빌드 도구와 함께 사용할 수 있습니다. Ant는 수십 개의 마음을 괴롭히는 죄수의 간단한 API가있는 일반적인 CSS (또는 모든 프리 프로세서)로 원활하게 섞는다. 칼슘 방식. 그리드 친화적 인 크기의 플로토를 가져 오는 두 개의 믹스 형 매개 변수가 필요합니다.
예제를 사용하면 다음과 같이하십시오. 폭 : 크기 (1/2) get (1) 보고 Calc (99.99 % * 1/2 - (30px - 30px * 1/2)) ...에 이걸 해제하자.
우리는 이들 사이에 단일 30px 거터가있는 2 열 격자의 각 열에 대한 너비를 얻습니다.
.Grid {
디스플레이 : 플렉스;
플렉스 랩 : 랩;
}
.half {
너비 : 크기 (1/2) get (1); / * alc (99.99 % * 1/2 - (30px - 30px * 1/2)) * /
마진 오른쪽 : 30px; / * 각 컬럼의 오른쪽에 거터를 놓습니다 * /
}
.half : n 번째 자식 (2N + 2) {/ * 2 번째 요소에서 시작하여 2s로 계산하기 시작합니다 * /
마진 오른쪽 : 0; / * 모든 행에서 마지막 거터를 제거합니다 * /
}
이것은 이미 디자이너 가이 크기를 사용할 수있는 힘을 제공하지만 다이빙을 깊게합니다.
크기 (100px 1/2) get (1) 보고 100px. ...에 충분히 간단하지만, 왜 우리는 개미를 사용하여 반환해야합니까? 100px. ~을 빼앗아가는 것 우리는 잠시 후에 그것이 될 것입니다.
크기 (100px 1/2) get (2) 보고 CALC ((99.99 % - (100px + (30px * 1))) * 1/2 - (30px - 30px * 1/2)) ...에 이런 세상에. 개미는 고정 숫자의 총 크기를 찾은 다음 반환합니다. 1/2. n 번째 그리드 친화적 인 방법으로 남아있는 모든 것이 무엇이든간에
우리는 이것들을 사용할 수 있습니다 칼슘 A.와 그리드를 만들 수있는 수식 100px. 열과 두 1/2. 그럼 같은 열 (나는 그것을 생략 할 것이다 .그리드 트리를 저장하는 스타일은 코드에 포함해야합니다.) :
. {
너비 : 크기 (100px 1/2) get (1); / * 100px를 반환합니다 (나는 그것이 어리석은 것처럼 보이지만 조금 더 오래 곰을 낳는다) * /
마진 오른쪽 : 30px;
}
.half {
너비 : 크기 (100px 1/2) get (2); / * alc ((99.99 % - (100px + (30px * 1))) * 1/2 - (30px - 30px * 1/2)) * /
마진 오른쪽 : 30px;
}
.half : nth-child (3N + 3) {
마진 오른쪽 : 0;
}
이제 우리는 이전에 불안정한 크기를 얻을 수 있지만 아직 슈퍼 유연성이 아닙니다. 많은 크기를 다룰 때 많은 글을 필요로 할 수 있습니다.
전처리 자 및 우체자는 항상 맞춤 구문이 관련 될 때 - 특히 함께 할 수 없습니다. 운 좋게도, 개미의 API는 전복 친화적입니다. 우리는 PACTCSS-SCSS와 같은 POSTCSS-PARSER를 PRECSS 플러그인으로 사용할 수 있지만이 접근 방식은 SASS의 기능이 저하되지 않는 많은 미완성 / 미숙 한 우체용 플러그인을 사용합니다. 나는 최선의 워크 플로가있는 것을 발견했습니다 :
이렇게하면 모든 젖꼭지 플러그인이있는 모든 Preprocessor 구문을 최상으로 제공합니다.
이제 시원한 물건을 위해. 전처리자는 일반적으로 반복자를 제공하면서 지정된 횟수를 반복 할 수있는 방법이 있습니다.
@For $ i에서 1까지에서 3 {
내용 : $ i; // 내용을 반환합니다. 1; 내용 : 2; 내용 : 3;
}
전 처리기에 대한 조금 지식을 가지고, 당신은 정말로 흥미로운 방식으로 개미를 사용할 수 있습니다 ...
$ 크기 : 100px 1/2 1/2;
$ gutter : 30px;
$ 길이 : 길이 ($ 크기);
.Column {
마진 오른쪽 : $ gutter;
@for $ i에서 1까지 $ 길이 {
& amp; : n 번째 자식 (# {$ 길이} n + # {$ i}) {
너비 : 크기 ($ 크기) get ($ i) 거터 ($ gutter);
}
}
& amp; : n 번째 자식 (# {$ 길이} n + # {$ 길이}) {
마진 오른쪽 : 0;
}
}
이제 우리의 불규칙한 크기의 열은 추가 마크 업없이 새로운 행으로 랩됩니다. 이 코드로 주위를 앞두고 땜납니다. 다양한 크기, 거터 및 새 크기를 추가하며 새 크기를 추가하십시오 (예 : 100px Auto 100px).
이것은 개미가있는 꽤 일반적인 패턴이므로 바닐라 CSS와 함께 작동하는 속성으로 포장했습니다.
. 그리드 {
생성 - 그리드 : 크기 (100px 1/2 1/2); / * 추가 옵션을 전달할 수 있지만 뽑기 ()는 더 이상 필요하지 않습니다. * /
}
N 번째 그리드는 전달할 요소의 크기와 수를 알고있을 때 훌륭하지만 때로는 컨테이너를 만들고 무작위로 크기의 요소를 덤프하려는 경우가 있습니다. 이 경우, 부정적인 마진 그리드는 최선의 방법입니다. 간단히 합격 부정적인 마진 개미처럼 :
.Grid {
마진 : 0 -15px;
}
.Column {
너비 : 크기 (1/3) get (1) 그리드 (음수 - 여백);
마진 : 0 15px;
}
이 예들은 모든 시원한 것들에서 작은 엿볼 수 있습니다. 그것은 몇 가지 선택적 매개 변수와 많은 설명적인 오류 처리가 있지만 개미의 진정한 힘은 당신입니다.
단순히 약간의 데이터를 반환하는 '벙어리'도구는 항상 전원을 개발자의 손에 다시 넣을 때 최상의 도구입니다. 그것이 가장 일하고있는 우편물이었습니다. 네가 흥미가 있다면, corysimmons.github.io/postcsssss. 약간의 얼굴을 녹이는 데모와 달콤한 문서가 있습니다.
이 기사는 원래 Net Magazine의 286 호에 발표되었습니다. 여기 구입하십시오.
관련 기사:
(이미지 크레딧 : 나오미 Vandoren) 독립적 인 예술가로서, 나는 완성 된 그림의 만족만큼 �..
[이미지 : Albert Valls Punsich] 3D 아티스트로 게임 맨 위에 머물러 있으려면 지금마다 기술을..
과장된 남성 문자를 만드는 것은 과장에 관한 모든 것, 모양, 재미, 모션 및 카메라 각도를 한계에..
튀김 일 런던의 VFX에서의 하루 일자리와 함께 Henning Sanden 및 Morten Jaeger의 사이트가 운영�..