gpt4 book ai didi

html - 如何使用 Bootstrap 3 制作漂亮的按钮矩阵?

转载 作者:太空狗 更新时间:2023-10-29 14:00:30 29 4
gpt4 key购买 nike

我有这样的东西:

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="container">
<div class="row">
<div class="col-sm-6">

<div class="btn-group">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
</div>

<div class="btn-group">
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
</div>

<div class="btn-group">
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
</div>

</div>

<div class="col-sm-6">
</div>
</div>
</div>

我想要一个 3x3 的按钮矩阵。还有一点,左边和右边必须像这个例子(直线):

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="container">
<div class="btn-group-vertical">
<button type="button" class="btn btn-default">button</button>
<button type="button" class="btn btn-default">button</button>
<button type="button" class="btn btn-default">button</button>
</div>
</div>

我怎样才能做到?也许我需要添加一些 Bootstrap 类或编辑 CSS 文件?

最佳答案

一组按钮+几个伪类

  1. .btn-group 类仅使用一个 block 。

  2. 使用伪类应用一组 CSS 属性:

  1. clear: left; 属性强制按钮开始矩阵的新行。这是因为 .btn 类具有 float: left; 属性。

  2. 以与 bootstrap.css 中描述的 btn-group 类类似的方式设置 border-radiusmargin 属性文件。

Bootstrap 3 的三列按钮矩阵

https://codepen.io/glebkema/pen/bGWWMRz

@import "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css";

/* Arrange buttons */
.btn-matrix>.btn {
width: 33%; /* force buttons to have the same width regardless of content */
}
.btn-matrix>.btn:nth-child(3n + 4) {
clear: left; /* force the button to start a new row of the matrix
(because .btn adds the `float: left;` property) */
margin-left: 0; /* because .btn-group adds `margin-left: -1px;` to all buttons */
}
.btn-matrix>.btn:nth-child(n + 4) {
margin-top: -1px; /* superimpose borders of the buttons from adjacent rows */
}

/* Fix border radius */
.btn-matrix>.btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix>.btn:nth-child(3) {
border-top-right-radius: 4px !important;
}
.btn-matrix>.btn:nth-last-child(3) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix>.btn:last-child {
border-top-right-radius: 0;
}

/* Decorations */
.btn-matrix {
margin: 20px;
}
<div class="btn-group btn-matrix">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
<button type="button" class="btn btn-default">Button 10</button>
<button type="button" class="btn btn-default">Button 11</button>
<button type="button" class="btn btn-default">Button 12</button>
<button type="button" class="btn btn-default">Button 13</button>
<button type="button" class="btn btn-default">Button 14</button>
<button type="button" class="btn btn-default">Button 15</button>
</div>

使用 Bootstrap 3 的 X×Y 矩阵

代码只依赖于X:

.btn-matrix > .btn {
width: (100/X)%;
}
.btn-matrix > .btn:nth-child(Xn+X+1) {
clear: left;
margin-left: 0;
}
.btn-matrix > .btn:nth-child(n+X+1) {
margin-top: -1px;
}

.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(X) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(X) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}

Bootstrap 4 或 5 的三列按钮矩阵

https://codepen.io/glebkema/pen/ZEKKoJG

@import "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.2/css/bootstrap.min.css";

/* Arrange buttons */
.btn-matrix {
flex-wrap: wrap; /* allow buttons to jump to another row */
}
.btn-matrix > .btn {
width: 33%; /* force buttons to have the same width regardless of content */
}
.btn-matrix > .btn:nth-child(3n + 4) {
margin-left: 0; /* because .btn-group adds `margin-left: -1px;` to all buttons */
}
.btn-matrix > .btn:nth-child(n + 4) {
margin-top: -1px; /* superimpose borders of the buttons from adjacent rows */
}

/* Fix border radius */
.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(3) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(3) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}

/* Decorations */
.btn-matrix {
margin: 20px;
max-width: 500px;
}
<div class="btn-group btn-matrix" role="group" aria-label="Three Column Button Matrix">
<button type="button" class="btn btn-outline-primary">Button 1</button>
<button type="button" class="btn btn-outline-primary">Button 2</button>
<button type="button" class="btn btn-outline-primary">Button 3</button>
<button type="button" class="btn btn-outline-primary">Button 4</button>
<button type="button" class="btn btn-outline-primary">Button 5</button>
<button type="button" class="btn btn-outline-primary">Button 6</button>
<button type="button" class="btn btn-outline-primary">Button 7</button>
<button type="button" class="btn btn-outline-primary">Button 8</button>
<button type="button" class="btn btn-outline-primary">Button 9</button>
<button type="button" class="btn btn-outline-primary">Button 10</button>
<button type="button" class="btn btn-outline-primary">Button 11</button>
<button type="button" class="btn btn-outline-primary">Button 12</button>
<button type="button" class="btn btn-outline-primary">Button 13</button>
<button type="button" class="btn btn-outline-primary">Button 14</button>
<button type="button" class="btn btn-outline-primary">Button 15</button>
</div>

使用 Bootstrap 4 或 5 的 X×Y 矩阵

代码只依赖于X:

.btn-matrix {
flex-wrap: wrap;
}
.btn-matrix > .btn {
width: (100/X)%;
}
.btn-matrix > .btn:nth-child(Xn+X+1) {
margin-left: 0;
}
.btn-matrix > .btn:nth-child(n+X+1) {
margin-top: -1px;
}

.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(X) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(X) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}

关于html - 如何使用 Bootstrap 3 制作漂亮的按钮矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38261294/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com