amis2/docs/style.md

698 lines
9.8 KiB
Markdown
Raw Normal View History

2019-04-30 11:11:25 +08:00
---
title: 定制样式
2019-04-30 11:11:25 +08:00
shortname: style
---
绝大部分 amis 组件里都有个 `className` 配置项,设置后就会给对应的组件添加 css class而 amis 内置了大量的功能类 class通过这些 class 的组合就能满足大部分展现调整的需求。
2019-04-30 11:11:25 +08:00
## 图标
2019-05-14 13:23:16 +08:00
amis 集成了 [fontawesome](http://fontawesome.io/icons/),所以关于图标部分,请前往 [fontawesome](http://fontawesome.io/icons/) 查看。
2019-04-30 11:11:25 +08:00
## 布局
水平布局可以考虑用 Bootstrap 的 [Grids](http://getbootstrap.com/css/#grid) 或者用 `hobx``col`
```html
<div class="hbox b-a">
2020-04-14 17:41:53 +08:00
<div class="col wrapper-sm bg-success">Col A</div>
<div class="col wrapper-sm bg-info">Col B</div>
<div class="col wrapper-sm bg-danger">Col C</div>
2019-04-30 11:11:25 +08:00
</div>
```
## 宽高
```css
2020-04-14 17:41:53 +08:00
.w-1x {
width: 1em;
}
.w-2x {
width: 2em;
}
.w-3x {
width: 3em;
}
.w-xxs {
width: 60px;
}
.w-xs {
width: 90px;
}
.w-sm {
width: 150px;
}
.w {
width: 200px;
}
.w-md {
width: 240px;
}
.w-lg {
width: 280px;
}
.w-xl {
width: 320px;
}
.w-xxl {
width: 360px;
}
.w-full {
width: 100%;
}
.w-auto {
width: auto;
}
.h-auto {
height: auto;
}
.h-full {
height: 100% !important;
max-height: none !important;
}
2019-04-30 11:11:25 +08:00
```
```html
<div class="hbox b-a bg-primary">
2020-04-14 17:41:53 +08:00
<div class="col wrapper-sm b-r w-1x">w-1x</div>
<div class="col wrapper-sm b-r w-2x">w-2x</div>
<div class="col wrapper-sm b-r w-3x">w-3x</div>
<div class="col wrapper-sm b-r w-xxs">w-xxs</div>
<div class="col wrapper-sm b-r w-xs">w-xs</div>
<div class="col wrapper-sm b-r w-sm">w-sm</div>
<div class="col wrapper-sm b-r w">w</div>
<div class="col wrapper-sm lter">...</div>
2019-04-30 11:11:25 +08:00
</div>
<div class="hbox b-a bg-primary m-t">
2020-04-14 17:41:53 +08:00
<div class="col wrapper-sm b-r w-md">w-md</div>
<div class="col wrapper-sm b-r w-lg">w-lg</div>
<div class="col wrapper-sm b-r w-xl">w-xl</div>
<div class="col wrapper-sm lter">...</div>
2019-04-30 11:11:25 +08:00
</div>
<div class="hbox b-a bg-primary m-t">
2020-04-14 17:41:53 +08:00
<div class="col wrapper-sm b-r w-xxl">w-xxl</div>
<div class="col wrapper-sm lter">...</div>
2019-04-30 11:11:25 +08:00
</div>
```
## 外边距
```css
2020-04-14 17:41:53 +08:00
.m-xxs {
margin: 2px 4px;
}
.m-xs {
margin: 5px;
}
.m-sm {
margin: 10px;
}
.m {
margin: 15px;
}
.m-md {
margin: 20px;
}
.m-lg {
margin: 30px;
}
.m-xl {
margin: 50px;
}
.m-n {
margin: 0 !important;
}
.m-l-none {
margin-left: 0 !important;
}
.m-l-xs {
margin-left: 5px;
}
.m-l-sm {
margin-left: 10px;
}
.m-l {
margin-left: 15px;
}
.m-l-md {
margin-left: 20px;
}
.m-l-lg {
margin-left: 30px;
}
.m-l-xl {
margin-left: 40px;
}
.m-l-xxl {
margin-left: 50px;
}
.m-l-n-xxs {
margin-left: -1px;
}
.m-l-n-xs {
margin-left: -5px;
}
.m-l-n-sm {
margin-left: -10px;
}
.m-l-n {
margin-left: -15px;
}
.m-l-n-md {
margin-left: -20px;
}
.m-l-n-lg {
margin-left: -30px;
}
.m-l-n-xl {
margin-left: -40px;
}
.m-l-n-xxl {
margin-left: -50px;
}
.m-t-none {
margin-top: 0 !important;
}
.m-t-xxs {
margin-top: 1px;
}
.m-t-xs {
margin-top: 5px;
}
.m-t-sm {
margin-top: 10px;
}
.m-t {
margin-top: 15px;
}
.m-t-md {
margin-top: 20px;
}
.m-t-lg {
margin-top: 30px;
}
.m-t-xl {
margin-top: 40px;
}
.m-t-xxl {
margin-top: 50px;
}
.m-t-n-xxs {
margin-top: -1px;
}
.m-t-n-xs {
margin-top: -5px;
}
.m-t-n-sm {
margin-top: -10px;
}
.m-t-n {
margin-top: -15px;
}
.m-t-n-md {
margin-top: -20px;
}
.m-t-n-lg {
margin-top: -30px;
}
.m-t-n-xl {
margin-top: -40px;
}
.m-t-n-xxl {
margin-top: -50px;
}
.m-r-none {
margin-right: 0 !important;
}
.m-r-xxs {
margin-right: 1px;
}
.m-r-xs {
margin-right: 5px;
}
.m-r-sm {
margin-right: 10px;
}
.m-r {
margin-right: 15px;
}
.m-r-md {
margin-right: 20px;
}
.m-r-lg {
margin-right: 30px;
}
.m-r-xl {
margin-right: 40px;
}
.m-r-xxl {
margin-right: 50px;
}
.m-r-n-xxs {
margin-right: -1px;
}
.m-r-n-xs {
margin-right: -5px;
}
.m-r-n-sm {
margin-right: -10px;
}
.m-r-n {
margin-right: -15px;
}
.m-r-n-md {
margin-right: -20px;
}
.m-r-n-lg {
margin-right: -30px;
}
.m-r-n-xl {
margin-right: -40px;
}
.m-r-n-xxl {
margin-right: -50px;
}
.m-b-none {
margin-bottom: 0 !important;
}
.m-b-xxs {
margin-bottom: 1px;
}
.m-b-xs {
margin-bottom: 5px;
}
.m-b-sm {
margin-bottom: 10px;
}
.m-b {
margin-bottom: 15px;
}
.m-b-md {
margin-bottom: 20px;
}
.m-b-lg {
margin-bottom: 30px;
}
.m-b-xl {
margin-bottom: 40px;
}
.m-b-xxl {
margin-bottom: 50px;
}
.m-b-n-xxs {
margin-bottom: -1px;
}
.m-b-n-xs {
margin-bottom: -5px;
}
.m-b-n-sm {
margin-bottom: -10px;
}
.m-b-n {
margin-bottom: -15px;
}
.m-b-n-md {
margin-bottom: -20px;
}
.m-b-n-lg {
margin-bottom: -30px;
}
.m-b-n-xl {
margin-bottom: -40px;
}
.m-b-n-xxl {
margin-bottom: -50px;
}
2019-04-30 11:11:25 +08:00
```
## 内边距
```css
2020-04-14 17:41:53 +08:00
.wrapper-xs {
padding: 5px;
}
.wrapper-sm {
padding: 10px;
}
.wrapper {
padding: 15px;
}
.wrapper-md {
padding: 20px;
}
.wrapper-lg {
padding: 30px;
}
.wrapper-xl {
padding: 50px;
}
.padder-xs {
padding-left: 5px;
padding-right: 5px;
}
.padder-sm {
padding-left: 10px;
padding-right: 10px;
}
.padder-lg {
padding-left: 30px;
padding-right: 30px;
}
.padder-md {
padding-left: 20px;
padding-right: 20px;
}
.padder {
padding-left: 15px;
padding-right: 15px;
}
.padder-v-xs {
padding-top: 5px;
padding-bottom: 5px;
}
.padder-v-sm {
padding-top: 10px;
padding-bottom: 10px;
}
.padder-v-lg {
padding-top: 30px;
padding-bottom: 30px;
}
.padder-v-md {
padding-top: 20px;
padding-bottom: 20px;
}
.padder-v {
padding-top: 15px;
padding-bottom: 15px;
}
.no-padder {
padding: 0 !important;
}
.pull-in {
margin-left: -15px;
margin-right: -15px;
}
.pull-out {
margin: -10px -15px;
}
2019-04-30 11:11:25 +08:00
```
## 边框
```css
2020-04-14 17:41:53 +08:00
.b {
border: 1px solid rgba(0, 0, 0, 0.05);
}
.b-a {
border: 1px solid @border-color;
}
.b-t {
border-top: 1px solid @border-color;
}
.b-r {
border-right: 1px solid @border-color;
}
.b-b {
border-bottom: 1px solid @border-color;
}
.b-l {
border-left: 1px solid @border-color;
}
.b-light {
border-color: @brand-light;
}
.b-dark {
border-color: @brand-dark;
}
.b-black {
border-color: @brand-dark;
}
.b-primary {
border-color: @brand-primary;
}
.b-success {
border-color: @brand-success;
}
.b-info {
border-color: @brand-info;
}
.b-warning {
border-color: @brand-warning;
}
.b-danger {
border-color: @brand-danger;
}
.b-white {
border-color: #fff;
}
.b-dashed {
border-style: dashed !important;
}
.b-l-light {
border-left-color: @brand-light;
}
.b-l-dark {
border-left-color: @brand-dark;
}
.b-l-black {
border-left-color: @brand-dark;
}
.b-l-primary {
border-left-color: @brand-primary;
}
.b-l-success {
border-left-color: @brand-success;
}
.b-l-info {
border-left-color: @brand-info;
}
.b-l-warning {
border-left-color: @brand-warning;
}
.b-l-danger {
border-left-color: @brand-danger;
}
.b-l-white {
border-left-color: #fff;
}
.b-l-2x {
border-left-width: 2px;
}
.b-l-3x {
border-left-width: 3px;
}
.b-l-4x {
border-left-width: 4px;
}
.b-l-5x {
border-left-width: 5px;
}
.b-2x {
border-width: 2px;
}
.b-3x {
border-width: 3px;
}
.b-4x {
border-width: 4px;
}
.b-5x {
border-width: 5px;
}
2019-04-30 11:11:25 +08:00
```
## 圆角
```css
2020-04-14 17:41:53 +08:00
.r {
border-radius: @border-radius-base @border-radius-base @border-radius-base
@border-radius-base;
}
.r-2x {
border-radius: @border-radius-base * 2;
}
.r-3x {
border-radius: @border-radius-base * 3;
}
.r-l {
border-radius: @border-radius-base 0 0 @border-radius-base;
}
.r-r {
border-radius: 0 @border-radius-base @border-radius-base 0;
}
.r-t {
border-radius: @border-radius-base @border-radius-base 0 0;
}
.r-b {
border-radius: 0 0 @border-radius-base @border-radius-base;
}
2019-04-30 11:11:25 +08:00
```
## 字体相关
```css
2020-04-14 17:41:53 +08:00
.font-normal {
font-weight: normal;
}
.font-thin {
font-weight: 300;
}
.font-bold {
font-weight: 700;
}
.text-3x {
font-size: 3em;
}
.text-2x {
font-size: 2em;
}
.text-lg {
font-size: @font-size-lg;
}
.text-md {
font-size: @font-size-md;
}
.text-base {
font-size: @font-size-base;
}
.text-sm {
font-size: @font-size-sm;
}
.text-xs {
font-size: @font-size-xs;
}
.text-xxs {
text-indent: -9999px;
}
.text-ellipsis {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.text-u-c {
text-transform: uppercase;
}
.text-l-t {
text-decoration: line-through;
}
.text-u-l {
text-decoration: underline;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
2019-04-30 11:11:25 +08:00
```
## 定位
```css
2020-04-14 17:41:53 +08:00
.pos-rlt {
position: relative;
}
.pos-stc {
position: static !important;
}
.pos-abt {
position: absolute;
}
.pos-fix {
position: fixed;
}
2019-04-30 11:11:25 +08:00
```
## 背景
```html
<div class="hbox b-a bg-light">
2020-04-14 17:41:53 +08:00
<div class="col wrapper-sm b-r bg-white">bg-white</div>
<div class="col wrapper-sm b-r bg-dark">bg-dark</div>
<div class="col wrapper-sm b-r bg-info">bg-info</div>
<div class="col wrapper-sm b-r bg-success">bg-success</div>
<div class="col wrapper-sm b-r bg-warning">bg-warning</div>
<div class="col wrapper-sm b-r bg-danger">bg-danger</div>
<div class="col wrapper-sm bg-primary">bg-primary</div>
2019-04-30 11:11:25 +08:00
</div>
```
## 其他
```css
2020-04-14 17:41:53 +08:00
.show {
visibility: visible;
}
.line {
*width: 100%;
height: 2px;
margin: 10px 0;
font-size: 0;
overflow: hidden;
background-color: transparent;
border-width: 0;
border-top: 1px solid @border-color;
}
.line-xs {
margin: 0;
}
.line-lg {
margin-top: 15px;
margin-bottom: 15px;
}
.line-dashed {
border-style: dashed;
background: transparent;
}
.no-line {
border-width: 0;
}
.no-border,
.no-borders {
border-color: transparent;
border-width: 0;
}
.no-radius {
border-radius: 0;
}
.block {
display: block;
}
.block.hide {
display: none;
}
.inline {
display: inline-block !important;
}
.none {
display: none;
}
.pull-none {
float: none;
}
.rounded {
border-radius: 500px;
}
.clear {
display: block;
overflow: hidden;
}
.no-bg {
background-color: transparent;
color: inherit;
}
.no-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
2019-04-30 11:11:25 +08:00
```