/* 全局尺寸 */
.full-height {
  height: 100%;
}

.full-width {
  width: 100%;
}

.full-screen {
  width: 100%;
  height: 100%;
}

/* 定位 */
.fixed {
  position: fixed;
}

.fixed-center {
  position: fixed;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%, -50%);
}

.fixed-full {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.absolute {
  position: absolute;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.absolute-top-right {
  position: absolute;
  top: 0;
  right: 0;
}

.absolute-center-right {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.absolute-bottom-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

.absolute-full {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.relative-position {
  position: relative;
}

/* 可见性 */
.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.opacity-0 {
  opacity: 0;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.block {
  display: block;
}

.vertical-middle {
  vertical-align: middle;
}

.vertical-top {
  vertical-align: top;
}

/* flex布局 */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-space {
  flex: 1 auto;
}

.flex-1 {
  flex: 1;
}

.flex-column {
  flex-direction: column;
}

.row-reverse {
  flex-direction: row-reverse;
}

.item-center {
  align-items: center;
}

.item-strech {
  align-items: stretch;
}

.item-end {
  align-items: flex-end;
}

.item-start {
  align-items: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.space-between {
  justify-content: space-between;
}

.space-around {
  justify-content: space-around;
}

.flex-end {
  justify-content: flex-end;
}

/* 浮动 */
.fl {
  float: left;
}

.fr {
  float: right;
}

/* 清除浮动 */
.clear-float:before,
.clear-float:after {
  content: '';
  display: table;
}

.clear-float:after {
  clear: both;
}

/* 无法选择文本 */
.noselect {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  -khtml-user-select: none;
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently not supported by any browser */
}

/* 鼠标光标样式 */
.cursor-pointer {
  cursor: pointer;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

/* 滚动条 */
/* 隐藏滚动条 */
.no-scroll {
  scrollbar-width: none;
  /* firefox */
  -ms-overflow-style: none;
  /* IE 10+ */
  overflow: hidden;
}

.no-scroll::-webkit-scrollbar {
  display: none;
  /* Chrome Safari */
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-hidden-y {
  overflow-y: hidden;
}

/* 文字 */
/* 文字位置 */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* 文字粗体 */
.text-bold {
  font-weight: bold;
}

/* 文字粗体 */
.text-normal {
  font-weight: normal;
}

/* 文字省略 */
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
  white-space: nowrap;
}

.text-ellipsis-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.text-ellipsis-3 {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
