Jim*_*mmy 74 html css twitter-bootstrap twitter-bootstrap-3
我想知道是否有人可以解释我如何在引导程序中获得7个相等的列?我正在尝试制作日历.这段代码似乎做了5:
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>
Run Code Online (Sandbox Code Playgroud)
我的主要内容有以下几个类,所以我希望7列可以放在这个内容中:
COL-LG-12
任何人都可以解释这是否可能,或者我是否必须坚持偶数?
Has*_*ami 137
好吧,IMO你可能需要width
使用CSS3 @media
查询来覆盖列.
这是我尝试创建7-col网格系统:
<div class="container">
<div class="row seven-cols">
<div class="col-md-1">Col 1</div>
<div class="col-md-1">Col 2</div>
<div class="col-md-1">Col 3</div>
<div class="col-md-1">Col 4</div>
<div class="col-md-1">Col 5</div>
<div class="col-md-1">Col 6</div>
<div class="col-md-1">Col 7</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
@media (min-width: 768px){
.seven-cols .col-md-1,
.seven-cols .col-sm-1,
.seven-cols .col-lg-1 {
width: 100%;
*width: 100%;
}
}
@media (min-width: 992px) {
.seven-cols .col-md-1,
.seven-cols .col-sm-1,
.seven-cols .col-lg-1 {
width: 14.285714285714285714285714285714%;
*width: 14.285714285714285714285714285714%;
}
}
/**
* The following is not really needed in this case
* Only to demonstrate the usage of @media for large screens
*/
@media (min-width: 1200px) {
.seven-cols .col-md-1,
.seven-cols .col-sm-1,
.seven-cols .col-lg-1 {
width: 14.285714285714285714285714285714%;
*width: 14.285714285714285714285714285714%;
}
}
Run Code Online (Sandbox Code Playgroud)
价值width
来自:
width = 100% / 7 column-number = 14.285714285714285714285714285714%
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用自定义生成器(更改@grid-columns
,...)构建自己的7列版本的Twitter Bootstrap .
如果您使用较少的编译器,您可以下载较小版本的Twitter Bootstrap(来自Github)并编辑该variables.less
文件.
PJ3*_*PJ3 33
一个几乎相等,快速的解决方案.没有自定义CSS.
.cell {
border: 1px solid black;
text-align: center;
flex-basis: 33.3333%;
flex-grow: 0;
flex-shrink: 0;
-webkit-box-flex: 0;
-webkit-tap-highlight-color: #0000;
}
Run Code Online (Sandbox Code Playgroud)
Ant*_*bbs 13
升级到Bootstrap 4可能是一个不错的选择.
附带等宽列的类col
<div class="row">
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
https://v4-alpha.getbootstrap.com/layout/grid/#equal-width
提示:如果要在屏幕低于md时在新行中打破列,请在每列之后添加此div:
<div class='w-100 d-md-none'></div>
Run Code Online (Sandbox Code Playgroud)
.w-100打破一个新行,而.d-md-done隐藏了比md宽的屏幕上的div
所以它会给:
<div class="row">
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
<div class='w-100 d-md-none'></div>
<div class="col"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
Bra*_*rad 10
我想要一个更精确的解决方案,所以我创建了一个特殊的row/col类集(语义上与日历的概念相关).
这破坏了Bootstrap构建基础网格(in grid-framework.less
)的方式.它保留了xs
,sm
,md
,和lg
类在不同的视口定制网格.
注意:这只包括网格样式; 你仍然需要写下其余的东西,使它看起来像一个日历.
<div class="row">
<div class="col-xs-7">
<div class="calendar">
<div class="calendar-row">
<div class="calendar-xs-1">Sunday</div>
<div class="calendar-xs-1">Monday</div>
<div class="calendar-xs-1">Tuesday</div>
<div class="calendar-xs-1">Wednesday</div>
<div class="calendar-xs-1">Thursday</div>
<div class="calendar-xs-1">Friday</div>
<div class="calendar-xs-1">Saturday</div>
</div>
</div>
</div>
<div class="col-xs-5">
This container intentionally left blank.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
.less
/*
* Calendar grid
*/
@calendar-columns: 7;
@calendar-gutter-width: 0px;
.make-calendar-columns() {
// Common styles for all sizes of calendar columns, widths 1-12
.cal(@index) when (@index = 1) { // initial
@item: ~".calendar-xs-@{index}, .calendar-sm-@{index}, .calendar-md-@{index}, .calendar-lg-@{index}";
.cal((@index + 1), @item);
}
.cal(@index, @list) when (@index =< @calendar-columns) { // general; "=<" isn't a typo
@item: ~".calendar-xs-@{index}, .calendar-sm-@{index}, .calendar-md-@{index}, .calendar-lg-@{index}";
.cal((@index + 1), ~"@{list}, @{item}");
}
.cal(@index, @list) when (@index > @calendar-columns) { // terminal
@{list} {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: (@calendar-gutter-width / 2);
padding-right: (@calendar-gutter-width / 2);
}
}
.cal(1); // kickstart it
}
.float-calendar-columns(@class) {
.cal(@index) when (@index = 1) { // initial
@item: ~".calendar-@{class}-@{index}";
.cal((@index + 1), @item);
}
.cal(@index, @list) when (@index =< @calendar-columns) { // general
@item: ~".calendar-@{class}-@{index}";
.cal((@index + 1), ~"@{list}, @{item}");
}
.cal(@index, @list) when (@index > @calendar-columns) { // terminal
@{list} {
float: left;
}
}
.cal(1); // kickstart it
}
.calc-calendar-column(@index, @class, @type) when (@type = width) and (@index > 0) {
.calendar-@{class}-@{index} {
width: percentage((@index / @calendar-columns));
}
}
.calc-calendar-column(@index, @class, @type) when (@type = push) and (@index > 0) {
.calendar-@{class}-push-@{index} {
left: percentage((@index / @calendar-columns));
}
}
.calc-calendar-column(@index, @class, @type) when (@type = push) and (@index = 0) {
.calendar-@{class}-push-0 {
left: auto;
}
}
.calc-calendar-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
.calendar-@{class}-pull-@{index} {
right: percentage((@index / @calendar-columns));
}
}
.calc-calendar-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
.calendar-@{class}-pull-0 {
right: auto;
}
}
.calc-calendar-column(@index, @class, @type) when (@type = offset) {
.calendar-@{class}-offset-@{index} {
margin-left: percentage((@index / @calendar-columns));
}
}
// Basic looping in LESS
.loop-calendar-columns(@index, @class, @type) when (@index >= 0) {
.calc-calendar-column(@index, @class, @type);
// next iteration
.loop-calendar-columns((@index - 1), @class, @type);
}
// Create grid for specific class
.make-calendar(@class) {
.float-calendar-columns(@class);
.loop-calendar-columns(@grid-columns, @class, width);
.loop-calendar-columns(@grid-columns, @class, pull);
.loop-calendar-columns(@grid-columns, @class, push);
.loop-calendar-columns(@grid-columns, @class, offset);
}
// Row
//
// Rows contain and clear the floats of your columns.
.calendar-row {
.make-row(@calendar-gutter-width);
}
// Columns
//
// Common styles for small and large grid columns
.make-calendar-columns();
// Extra small grid
//
// Columns, offsets, pushes, and pulls for extra small devices like
// smartphones.
.make-calendar(xs);
// Small grid
//
// Columns, offsets, pushes, and pulls for the small device range, from phones
// to tablets.
@media (min-width: @screen-sm-min) {
.make-calendar(sm);
}
// Medium grid
//
// Columns, offsets, pushes, and pulls for the desktop device range.
@media (min-width: @screen-md-min) {
.make-calendar(md);
}
// Large grid
//
// Columns, offsets, pushes, and pulls for the large desktop device range.
@media (min-width: @screen-lg-min) {
.make-calendar(lg);
}
Run Code Online (Sandbox Code Playgroud)
按照安东尼·吉布斯的回答,您可以简单地使用Boostrap 4“ col ” css类:
<div class="row">
<div class="col">Mon</div>
<div class="col">Tue</div>
<div class="col">Wen</div>
<div class="col">Thu</div>
<div class="col">Fri</div>
<div class="col">Sat</div>
<div class="col">Sun</div>
</div>
Run Code Online (Sandbox Code Playgroud)
你不一定需要引导4,你总是可以简单地从BS4的CSS声明复制到自己的样式表。
/* Equal width */
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
/* Add gutters */
.col {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
Run Code Online (Sandbox Code Playgroud)
这具有BS4准备的好处,一旦你迁移,它也给使用5,7,9或11列的可能性。
https://getbootstrap.com/docs/4.0/layout/grid/#equal-width
您的问题是列数奇数,因此无法实现对称。因为每一列都是一周中的某一天,所以您可以说所有工作日都有col-md-2
课程,而其他两天都有col-md-1
课程。
该方法将基于周六和周日需要较少空间的假设而起作用,但是我不知道这是否适合您的情况。
<div class="row">
<div class="col-md-2">Mon</div>
<div class="col-md-2">Tue</div>
<div class="col-md-2">Wen</div>
<div class="col-md-2">Thu</div>
<div class="col-md-2">Fri</div>
<div class="col-md-1">Sat</div>
<div class="col-md-1">Sun</div>
</div>
<div class="row">
<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">6</div>
<div class="col-md-1">7</div>
</div>
Run Code Online (Sandbox Code Playgroud)
演示在这里
归档时间: |
|
查看次数: |
73059 次 |
最近记录: |