내가 만들고있는 페이지에 5 개의 동일한 열이 있고 5 열 그리드가 어떻게 사용되는지 이해할 수없는 것 같습니다 : http://web.archive.org/web/20120416024539/http://domain7 .com / mobile / tools / bootstrap / responsive
트위터 부트 스트랩 프레임 워크의 일부 위에 5 개의 열 그리드가 표시됩니까?
내가 만들고있는 페이지에 5 개의 동일한 열이 있고 5 열 그리드가 어떻게 사용되는지 이해할 수없는 것 같습니다 : http://web.archive.org/web/20120416024539/http://domain7 .com / mobile / tools / bootstrap / responsive
트위터 부트 스트랩 프레임 워크의 일부 위에 5 개의 열 그리드가 표시됩니까?
답변:
span2 클래스에 5 개의 div를 사용하고 첫 번째 클래스에 offset1 클래스를 제공하십시오.
<div class="row-fluid">
<div class="span2 offset1"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
</div>
짜잔! 동일 간격으로 중앙에 위치한 5 개의 열.
부트 스트랩 3.0 에서이 코드는 다음과 같습니다
<div class="row">
<div class="col-md-2 col-md-offset-1"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
<div class="col-md-2"></div>
</div>
Twitter Bootstrap을 사용한 환상적인 전폭 5 열 레이아웃이 여기 에 만들어졌습니다 .
이 솔루션은 Bootstrap 3과 완벽하게 작동하므로 가장 진보 된 솔루션입니다. 반응 형 디자인을 위해 현재 Bootstrap 클래스와 함께 클래스를 반복해서 재사용 할 수 있습니다.
CSS :
글로벌 스타일 시트 나 bootstrap.css
문서 의 맨 아래에 추가하십시오 .
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
position: relative;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
.col-xs-5ths {
width: 20%;
float: left;
}
@media (min-width: 768px) {
.col-sm-5ths {
width: 20%;
float: left;
}
}
@media (min-width: 992px) {
.col-md-5ths {
width: 20%;
float: left;
}
}
@media (min-width: 1200px) {
.col-lg-5ths {
width: 20%;
float: left;
}
}
사용하십시오!
예를 들어, 중간 화면에서는 5 개의 열 레이아웃처럼 작동하고 작은 화면에서는 2 개의 열처럼 작동하는 div 요소를 만들려면 다음과 같은 것을 사용해야합니다.
<div class="row">
<div class="col-md-5ths col-xs-6">
...
</div>
</div>
작업 데모 -프레임을 확장하면 열이 반응하는 것을 볼 수 있습니다.
ANOTHER DEMO - 새로운 통합col-*-5ths
과 같은 다른 사람들과 수업을col-*-3
하고col-*-2
. 프레임의 크기를 조정하여col-xs-6
반응 형보기에서모두 변경되는 것을 확인하십시오.
부트 스트랩 4는 이제 기본적으로 flexbox를 사용하므로 상자에서 바로 마법의 힘에 액세스 할 수 있습니다. 중첩되는 열 수에 따라 너비를 동적으로 조정 하는 자동 레이아웃 열 을 확인하십시오 .
예를 들면 다음과 같습니다.
<div class="row">
<div class="col">
1 of 5
</div>
<div class="col">
2 of 5
</div>
<div class="col">
3 of 5
</div>
<div class="col">
4 of 5
</div>
<div class="col">
5 of 5
</div>
</div>
col-*-15
혼란 스러울 수 있습니다. 그것은 그들이 15 열 그리드 시스템의 일부임을 암시하는 것 같습니다.
col-*-15
나에게는 괜찮지 만 col-*-5ths
약간 덜 혼란스러운 열 이름 일 수 있습니다. 다른 개발자가 혼란스러워하지 않도록 내가 사용하는 것입니다.
position:relative; min-height: 1px; padding-right: 15px; padding-left: 15px;
. 기본적으로 내가 게시 한 코드는 Bootstrap의 내장 스타일과 정확히 일치하도록 확장되었습니다. 그런 다음 너비를 적용하여 20%
5 개의 동일한 열이 페이지에 맞도록 할 수 있습니다. 매우 간단한 :)
들어 부트 스트랩 3 원하는 경우, 전체 폭을 하고 사용하고 LESS
, SASS
비슷한, 또는, 당신이 할 일은의 메이크업의 사용이다 부트 스트랩의 믹스 인 기능 make-md-column
, make-sm-column
등
적게:
.col-lg-2-4{
.make-lg-column(2.4)
}
.col-md-2-4{
.make-md-column(2.4)
}
.col-sm-2-4{
.make-sm-column(2.4)
}
SASS :
.col-lg-2-4{
@include make-lg-column(2.4)
}
.col-md-2-4{
@include make-md-column(2.4)
}
.col-sm-2-4{
@include make-sm-column(2.4)
}
뿐만 아니라 당신은 구축 할 수 있습니다 진정한 전체 폭 부트 스트랩 열 수업 이 유지 mixin을 사용하여,하지만 당신은 또한 모든 구축 할 수 관련 헬퍼 클래스 처럼 .col-md-push-*
, .col-md-pull-*
그리고 .col-md-offset-*
:
적게:
.col-md-push-2-4{
.make-md-column-push(2.4)
}
.col-md-pull-2-4{
.make-md-column-pull(2.4)
}
.col-md-offset-2-4{
.make-md-column-offset(2.4)
}
SASS :
.col-md-push-2-4{
@include make-md-column-push(2.4)
}
.col-md-pull-2-4{
@include make-md-column-pull(2.4)
}
.col-md-offset-2-4{
@include make-md-column-offset(2.4)
}
다른 답변 @gridColumns
은 완벽하게 유효하지만 모든 부트 스트랩의 코어 열 너비를 변경하는 설정에 대해 이야기합니다 . 위의 믹스 인 기능을 사용하면 기본 부트 스트랩 열 위에 5 개의 열 레이아웃이 추가되므로 타사 도구 나 기존 스타일이 손상되지 않습니다.
2.4
12의 5 ( 2.4*5=12
) 와 같이 가장 깨끗한 솔루션 은 12 열 그리드의 부트 스트랩 3에서 작동합니다. 또한 적용 make-xs
, make-sm
있지만 (최신 GET 우선 순위) 다른 표준 COL 정의와 함께 작동하지 않습니다
부트 스트랩 4.1 이상
자동 레이아웃 그리드를 사용하는 5 개의 동일한 전폭 열 ( 추가 CSS 또는 SASS 없음 )은 다음과 같습니다.
<div class="container-fluid">
<div class="row">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
<div class="col">5</div>
</div>
</div>
http://www.codeply.com/go/MJTglTsq9h
이 솔루션은 이제 Bootstrap 4가 flexbox이기 때문에 작동합니다. 당신은 5 열이 같은 내 포장 얻을 수 .row
같은 휴식을 사용 <div class="col-12"></div>
또는 <div class="w-100"></div>
매 5 열.
참조 : 부트 스트랩 - 5 열 레이아웃
flex-nowrap
를 고려 .row
하십시오.
아래는 @machineaddict와 @Mafnah 답변의 조합이며 Bootstrap 3 용으로 다시 작성되었습니다 (지금까지 잘 작동합니다).
@media (min-width: 768px){
.fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2 {
width: 20%;
*width: 20%;
}
}
@media (min-width: 1200px) {
.fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2 {
width: 20%;
*width: 20%;
}
}
@media (min-width: 768px) and (max-width: 979px) {
.fivecolumns .col-md-2, .fivecolumns .col-sm-2, .fivecolumns .col-lg-2 {
width: 20%;
*width: 20%;
}
}
원래 부트 스트랩을 12 열로 유지하고 사용자 정의하지 마십시오. 당신이해야 할 유일한 수정은 다음과 같이 원래 부트 스트랩 응답 CSS 후 일부 CSS입니다 .
다음 코드는 Bootstrap 2.3.2에서 테스트되었습니다.
<style type="text/css">
/* start of modification for 5 columns */
@media (min-width: 768px){
.fivecolumns .span2 {
width: 18.297872340425532%;
*width: 18.2234042553191494%;
}
}
@media (min-width: 1200px) {
.fivecolumns .span2 {
width: 17.9487179487179488%;
*width: 17.87424986361156592%;
}
}
@media (min-width: 768px) and (max-width: 979px) {
.fivecolumns .span2 {
width: 17.79005524861878448%;
*width: 17.7155871635124022%;
}
}
/* end of modification for 5 columns */
</style>
그리고 HTML :
<div class="row-fluid fivecolumns">
<div class="span2">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn" href="#">View details »</a></p>
</div>
<div class="span2">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn" href="#">View details »</a></p>
</div>
<div class="span2">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn" href="#">View details »</a></p>
</div>
<div class="span2">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn" href="#">View details »</a></p>
</div>
<div class="span2">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn" href="#">View details »</a></p>
</div>
</div>
참고 : span2 곱하기 5는 12 열과 같지 않지만 아이디어는 있습니다. :)
실제 예제는 http://jsfiddle.net/v3Uy5/6/ 에서 찾을 수 있습니다.
정확히 같은 너비의 열이 필요하지 않은 경우 중첩을 사용하여 5 열을 만들 수 있습니다.
<div class="container">
<div class="row">
<div class="col-xs-5">
<div class="row">
<div class="col-xs-6 column">Column 1</div>
<div class="col-xs-6 column">Column 2</div>
</div>
</div>
<div class="col-xs-7">
<div class="row">
<div class="col-xs-4 column">Column 3</div>
<div class="col-xs-4 column">Column 4</div>
<div class="col-xs-4 column">Column 5</div>
</div>
</div>
</div>
</div>
처음 두 열의 너비는 5/12 * 1/2 ~ 20.83 %입니다.
마지막 3 개 열 : 7/12 * 1/3 ~ 19.44 %
이러한 해킹은 많은 경우에 허용 가능한 결과를 제공하며 CSS 변경이 필요하지 않습니다 (기본 부트 스트랩 클래스 만 사용함).
로 이동 부트 스트랩 2.3.2 (또는 부트 스트랩 3 ) 사용자 정의 페이지를 설정하고 다음과 같은 변수 (입력하지 세미콜론을) :
@gridColumns: 5;
@gridColumnWidth: 172px;
@gridColumnWidth1200: 210px;
@gridColumnWidth768: 128px;
@gridGutterWidth768: 21px;
빌드를 다운로드하십시오. 이 그리드는 기본 거터 너비 (거의)를 유지하면서 기본 컨테이너에 맞습니다.
참고 : LESS를 사용하는 경우 variables.less
대신 업데이트하십시오 .
flexbox로 http://output.jsbin.com/juziwu
.flexrow {
display: flex;
background: lightgray; /*for debug*/
}
.flexrow > * {
flex: 1;
margin: 1em;
outline: auto green;
}
<div class="flexrow">
<div>...</div>
<div>...</div>
<div>...</div>
<div>...<br>..</div>
<div>...</div>
</div>
나는 Mafnah의 답변에 투표했지만 이것을 다시 보면 기본 마진 등을 유지하는 경우 다음이 더 좋습니다.
<div class="equal row-fluid">
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
</div>
.equal .span2 {
width: 17.9%;
}
<div class="equal row-fluid">
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
<div class="span2"></div>
</div>
.equal .span2 {
width: 20%;
}
행당 최대 5 개의 열 을 가지 려면 더 적은 수의 열이 여전히 각 행의 1/5 만 차지하도록하려면 Bootstrap 4의 믹스 인 을 사용하는 것이 좋습니다 .
SCSS :
.col-2-4 {
@include make-col-ready(); // apply standard column margins, padding, etc.
@include make-col(2.4); // 12/5 = 2.4
}
.col-sm-2-4 {
@include make-col-ready();
@include media-breakpoint-up(sm) {
@include make-col(2.4);
}
}
.col-md-2-4 {
@include make-col-ready();
@include media-breakpoint-up(md) {
@include make-col(2.4);
}
}
.col-lg-2-4 {
@include make-col-ready();
@include media-breakpoint-up(lg) {
@include make-col(2.4);
}
}
.col-xl-2-4 {
@include make-col-ready();
@include media-breakpoint-up(xl) {
@include make-col(2.4);
}
}
HTML :
<div class="container">
<div class="row">
<div class="col-12 col-sm-2-4">1 of 5</div>
<div class="col-12 col-sm-2-4">2 of 5</div>
<div class="col-12 col-sm-2-4">3 of 5</div>
<div class="col-12 col-sm-2-4">4 of 5</div>
<div class="col-12 col-sm-2-4">5 of 5</div>
</div>
<div class="row">
<div class="col-12 col-sm-2-4">1 of 2</div> <!-- same width as column "1 of 5" above -->
<div class="col-12 col-sm-2-4">2 of 2</div> <!-- same width as column "2 of 5" above -->
</div>
</div>
중첩 및 약간의 CSS 오버라이드를 사용하여 수행 할 수 있습니다.
<div class="col-sm-12">
<div class="row">
<div class="col-sm-7 five-three">
<div class="row">
<div class="col-sm-4">
Column 1
</div>
<div class="col-sm-4">
Column 2
</div>
<div class="col-sm-4">
Column 3
</div><!-- end inner row -->
</div>
</div>
<div class="col-sm-5 five-two">
<div class="row">
<div class="col-sm-6">
Col 4
</div>
<div class="col-sm-6">
Col 5
</div>
</div><!-- end inner row -->
</div>
</div><!-- end outer row -->
그런 다음 일부 CSS
@media (min-width: 768px) {
div.col-sm-7.five-three {
width: 60% !important;
}
div.col-sm-5.five-two {
width: 40% !important;
}
}
예는 다음과 같습니다. 5 개의 동일한 열 예
그리고 여기에 코더 월에 대한 전체 글이 있습니다.
제 생각에는 Less 구문으로 이와 같이 사용하는 것이 좋습니다. 이 답변은 @fizzix 의 답변 을 기반으로합니다.
이런 식으로 열은 사용자가 재정의했을 수있는 변수 (@ grid-gutter-width, media breakpoints)를 사용하며 5 개 열의 동작은 12 개 열 그리드의 동작과 일치합니다.
/*
* Special grid for ten columns,
* using its own scope
* so it does not interfere with the rest of the code
*/
& {
@import (multiple) "../bootstrap-3.2.0/less/variables.less";
@grid-columns: 5;
@import (multiple) "../bootstrap-3.2.0/less/mixins.less";
@column: 1;
.col-xs-5ths {
.make-xs-column(@column);
}
.col-sm-5ths {
.make-sm-column(@column);
}
.col-md-5ths {
.make-md-column(@column);
}
.col-lg-5ths {
.make-lg-column(@column);
}
}
/***************************************/
/* Using default bootstrap now
/***************************************/
@import (multiple) "../bootstrap-3.2.0/less/variables.less";
@import (multiple) "../bootstrap-3.2.0/less/mixins.less";
/* ... your normal less definitions */
이것은 굉장합니다 : http://www.ianmccullough.net/5-column-bootstrap-layout/
그냥 해:
<div class="col-xs-2 col-xs-15">
그리고 CSS :
.col-xs-15{
width:20%;
}
기본적으로 Bootstrap은 5 개의 열 레이아웃을 생성 할 수있는 그리드 시스템을 제공하지 않으므로 Bootstrap이 CSS 파일에서 일부 사용자 정의 클래스 및 미디어 쿼리를 생성하는 방식으로 기본 열 정의를 생성해야합니다.
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
position: relative;
min-height: 1px;
padding-right: 10px;
padding-left: 10px;
}
.col-xs-15 {
width: 20%;
float: left;
}
@media (min-width: 768px) {
.col-sm-15 {
width: 20%;
float: left;
}
}
@media (min-width: 992px) {
.col-md-15 {
width: 20%;
float: left;
}
}
@media (min-width: 1200px) {
.col-lg-15 {
width: 20%;
float: left;
}
}
그리고 일부 HTML 코드
<div class="row">
<div class="col-md-15 col-sm-3">
...
</div>
</div>
기본적으로 부트 스트랩은 12 열까지 확장 할 수 있습니까? 즉, 동일한 너비의 12 열 레이아웃을 만들려면 div class = "col-md-1"안에 12 번 작성합니다.
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-2">1</div>
<div class="col-md-2">2</div>
<div class="col-md-2">3</div>
<div class="col-md-2">4</div>
<div class="col-md-2">5</div>
<div class="col-md-1"></div>
</div>
Twitter 부트 스트랩 스타일의 5 열 레이아웃
.col-xs-15 {
position: relative;
min-height: 1px;
padding-right: 10px;
padding-left: 10px;
}
.col-xs-15 {
width: 100%;
float: left;
}
@media (min-width: 768px) {
.col-xs-15 {
width: 50%;
float: left;
}
}
@media (min-width: 992px) {
.col-xs-15 {
width: 20%;
float: left;
}
}
@media (min-width: 1200px) {
.col-xs-15 {
width: 20%;
float: left;
}
}
많은 CSS를 필요로하지 않거나 부트 스트랩 기본 12col 레이아웃을 조정하지 않는 솔루션 :
http://jsfiddle.net/0ufdyeur/1/
HTML :
<div class="stretch">
<div class="col-lg-2"></div>
<div class="col-lg-2"></div>
<div class="col-lg-2"></div>
<div class="col-lg-2"></div>
<div class="col-lg-2"></div>
</div>
CSS :
@media (min-width: 1200px) { /*if not lg, change this criteria*/
.stretch{
width: 120%; /*the actual trick*/
}
}
새 클래스를 만들고 필요에 따라 각 미디어 쿼리마다 동작을 정의하십시오.
@media(min-width: 768px){
.col-1-5{
width: 20%;
float: left;
position: relative;
min-height: 1px;
padding-right: 5px;
padding-left: 5px;
}
}
<div class="container-fluid">
<div class="row">
<div class="col-1-5">col 1</div>
<div class="col-1-5">col 2</div>
<div class="col-1-5">col 3</div>
<div class="col-1-5">col 4</div>
<div class="col-1-5">col 5</div>
</div>
</div>
다음은 실제 데모입니다. https://codepen.io/giorgosk/pen/BRVorW
부트 스트랩에 5 개의 열 그리드를 추가하는 방법
.col-lg-1-5,.col-md-1-5,.col-sm-1-5,.col-xs-1-5{min-height:1px;padding-left:15px;padding-right:15px;position:relative; width:100%;box-sizing:border-box;}
.item{width:100%;height:100px; background-color:#cfcfcf;}
.col-xs-1-5{width: 20%;float:left;} }
@media (min-width: 767px){ .col-sm-1-5{width: 20%;float:left;} }
@media (min-width: 992px){ .col-md-1-5{width: 20%;float:left;} }
@media (min-width: 1200px){ .col-lg-1-5{width: 20%;float:left;} }
<div class="row">
<div class="col-sm-1-5">
<div class="item">Item 1</div>
</div>
<div class="col-sm-1-5">
<div class="item">Item 2</div>
</div>
<div class="col-sm-1-5">
<div class="item">Item 3</div>
</div>
<div class="col-sm-1-5">
<div class="item">Item 4</div>
</div>
<div class="col-sm-1-5">
<div class="item">Item 5</div>
</div>
</div>
CSS를 편집 할 필요가없는 가장 쉬운 해결책은 다음과 같습니다.
<div class="row">
<div class="btn-group btn-group-justified">
<div class="btn-group">
<div class="col-sm-12">Column 1</div>
</div>
<div class="btn-group">
<div class="col-sm-12">Column 2</div>
</div>
<div class="btn-group">
<div class="col-sm-12">Column 3</div>
</div>
<div class="btn-group">
<div class="col-sm-12">Column 4</div>
</div>
<div class="btn-group">
<div class="col-sm-12">Column 5</div>
</div>
</div>
</div>
중단 점을 뛰어 넘어야하는 경우 btn-group 블록을 만드십시오. 이것이 누군가를 돕기를 바랍니다.
5 개의 열은 설계 상 부트 스트랩의 일부가 아닙니다.
그러나 Bootstrap v4 (알파)를 사용하면 복잡한 그리드 레이아웃에 도움이되는 두 가지가 있습니다.
간단히 말해서, 나는
<style>
.flexc { display: flex; align-items: center; padding: 0; justify-content: center; }
.flexc a { display: block; flex: auto; text-align: center; flex-basis: 0; }
</style>
<div class="container flexc hidden-sm-down">
<!-- content to show in MD and larger viewport -->
<a href="#">Link/Col 1</a>
<a href="#">Link/Col 2</a>
<a href="#">Link/Col 3</a>
<a href="#">Link/Col 4</a>
<a href="#">Link/Col 5</a>
</div>
<div class="container hidden-md-up">
<!-- content to show in SM and smaller viewport, I don't think 5 cols in smaller viewport are gonna be alright :) -->
</div>
5,7,9,11,13 또는 다른 확률이 있으면 괜찮을 것입니다. 12 그리드 표준이 유스 케이스의 90 % 이상을 제공 할 수 있다고 확신합니다. 따라서 디자인하십시오-더 쉽게 개발하십시오!
멋진 플렉스 튜토리얼은 " https://css-tricks.com/snippets/css/a-guide-to-flexbox/ "
여러 열에 대한 부트 스트랩 정의를 기반으로 SASS 믹스 인 정의를 작성했습니다 (개인적으로 12, 8, 10 및 24를 사용함).
// Extended bootstrap grid system
//
// Framework grid generation
//
// Based on Bootstrap 'bootstrap/_grid-framework.scss'. Generates classes in form of `.col-(size)-x-num` of width x/num.
@mixin make-extended-grid-columns($num-columns, $i: 1, $list: ".col-xs-#{$i}-#{$num-columns}, .col-sm-#{$i}-#{$num-columns}, .col-md-#{$i}-#{$num-columns}, .col-lg-#{$i}-#{$num-columns}") {
@for $i from (1 + 1) through $num-columns {
$list: "#{$list}, .col-xs-#{$i}-#{$num-columns}, .col-sm-#{$i}-#{$num-columns}, .col-md-#{$i}-#{$num-columns}, .col-lg-#{$i}-#{$num-columns}";
}
#{$list} {
position: relative;
min-height: 1px;
padding-left: ($grid-gutter-width / 2);
padding-right: ($grid-gutter-width / 2);
}
}
@mixin float-extended-grid-columns($class, $num-columns, $i: 1, $list: ".col-#{$class}-#{$i}-#{$num-columns}") {
@for $i from (1 + 1) through $num-columns {
$list: "#{$list}, .col-#{$class}-#{$i}-#{$num-columns}";
}
#{$list} {
float: left;
}
}
@mixin calc-extended-grid-column($index, $num-columns, $class, $type) {
@if ($type == width) and ($index > 0) {
.col-#{$class}-#{$index}-#{$num-columns} {
width: percentage(($index / $num-columns));
}
}
@if ($type == push) and ($index > 0) {
.col-#{$class}-push-#{$index}-#{$num-columns} {
left: percentage(($index / $num-columns));
}
}
@if ($type == pull) and ($index > 0) {
.col-#{$class}-pull-#{$index}-#{$num-columns} {
right: percentage(($index / $num-columns));
}
}
@if ($type == offset) and ($index > 0) {
.col-#{$class}-offset-#{$index}-#{$num-columns} {
margin-left: percentage(($index / $num-columns));
}
}
}
@mixin loop-extended-grid-columns($num-columns, $class, $type) {
@for $i from 1 through $num-columns - 1 {
@include calc-extended-grid-column($i, $num-columns, $class, $type);
}
}
@mixin make-extended-grid($class, $num-columns) {
@include float-extended-grid-columns($class, $num-columns);
@include loop-extended-grid-columns($num-columns, $class, width);
@include loop-extended-grid-columns($num-columns, $class, pull);
@include loop-extended-grid-columns($num-columns, $class, push);
@include loop-extended-grid-columns($num-columns, $class, offset);
}
그리고 다음과 같이 간단하게 클래스를 만들 수 있습니다.
$possible-number-extended-grid-columns: 8, 10, 24;
@each $num-columns in $possible-number-extended-grid-columns {
// Columns
@include make-extended-grid-columns($num-columns);
// Extra small grid
@include make-extended-grid(xs, $num-columns);
// Small grid
@media (min-width: $screen-sm-min) {
@include make-extended-grid(sm, $num-columns);
}
// Medium grid
@media (min-width: $screen-md-min) {
@include make-extended-grid(md, $num-columns);
}
// Large grid
@media (min-width: $screen-lg-min) {
@include make-extended-grid(lg, $num-columns);
}
}
누군가가 유용하다고 생각하기를 바랍니다.
누군가 부트 스트랩-ass (v3)를 사용하고 있습니까? 여기서는 부트 스트랩 혼합을 사용하는 5 열에 대한 간단한 코드입니다.
.col-xs-5ths {
@include make-xs-column(2.4);
}
@media (min-width: $screen-sm-min) {
.col-sm-5ths {
@include make-sm-column(2.4);
}
}
@media (min-width: $screen-md-min) {
.col-md-5ths {
@include make-md-column(2.4);
}
}
@media (min-width: $screen-lg-min) {
.col-lg-5ths {
@include make-lg-column(2.4);
}
}
포함했는지 확인하십시오 :
@import "bootstrap/variables";
@import "bootstrap/mixins";
부트 스트랩 4.4 이상
새로운 row-cols-n
클래스를 사용하십시오 .
row-cols-5
수업을 추가 하십시오 .row
. 사용자 정의 CSS가 필요하지 않습니다.Bootstrap 4.4 이전의 Bootstrap 4 버전
아래의 CSS를 복사하고 (부트 스트랩 작성자의 멋진 CSS) 프로젝트에 추가하십시오.
위에 인용 된 문서를 읽고 올바르게 사용하십시오.
.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}@media (min-width:576px){.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:768px){.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:992px){.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:1200px){.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}
.col-xs-2-4 {
position: relative;
float: left;
width: 20%;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
.col-sm-2-4 {
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
@media (min-width: 768px) {
.col-sm-2-4 {
float: left;
width: 20%;
}
}
.col-md-2-4 {
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
@media (min-width: 992px) {
.col-md-2-4 {
float: left;
width: 20%;
}
}
.col-lg-2-4 {
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
@media (min-width: 1200px) {
.col-lg-2-4 {
float: left;
width: 20%;
}
}