Повысьте эффективность разработки с помощью эффективного css~ (Часть 1)

CSS

1. Очистить поплавок

<div class="parent clearfix">
    <div class="left child">left</div>
    <div class="right child">right</div>
</div>
.clearfix:after {
  content: "\00A0";
  display: block;
  clear: both;
  line-height: 0;
}
.clearfix {
  zoom: 1;
}

2. Центрирование по вертикали и горизонтали

.css {
    display: flex;
    align-items: center;
    justify-content: center;
}

3. Многоточие в конце текста

单行截断

.txt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

多行截断

.txt {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    /* autoprefixer: off */
    -webkit-box-orient: vertical;
    /* autoprefixer: on */
}

display:-webkit-box;Он должен быть в сочетании с свойствами окна дисплея модели объекта максимально усилете.

-webkit-box-orient;Свойство, которое необходимо объединить, чтобы установить или получить расположение дочерних элементов объекта flexbox.

text-overflow:ellipsis;Необязательный атрибут, который можно использовать для скрытия выходящего за пределы диапазона текста многоточием "..." в случае многострочного текста.

autoprefixer: offОтключить автоматическое удаление автопрефиксера

4. Эффект размытия текста

.child {
  color: transparent;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}

5. Анимация для достижения простого эффекта загрузки

<div class="loading">
    正在加载
 </div>
.loading:after {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  content: "\2026";
  -webkit-animation: ellipsis 2s infinite;
}

/* 动画部分 */
@-webkit-keyframes ellipsis {
  from {
    width: 2px;
  }
  to {
    width: 15px;
  }
}

6. Настройте стиль выделения текста

<div class="element">
    正在加载正在加载正在加载正在加载正在加载正在加载正在加载正在加载
</div>
<!-- 注意只能修改这两个属性 字体颜色 选中背景颜色-->
.element::selection {
  color: green;
  background-color: red;
}
.element::-moz-selection {
  color: green;
  background-color: red;
}

7, заполнитель ввода изменяет стиль по умолчанию

inputИсправлятьplaceholderСтиль по умолчанию.

<div class="wrap">
    <input type="text" placeholder="我是一个占位符~">
</div>
input::-webkit-input-placeholder {
  color: green;
  background-color: #f9f7f7;
  font-size: 14px;
}
input::-moz-input-placeholder {
  color: green;
  background-color: #f9f7f7;
  font-size: 14px;
}
input::-ms-input-placeholder {
  color: green;
  background-color: #f9f7f7;
  font-size: 14px;
}

8. Кликабельные элементы на мобильном терминале удаляют границу по умолчанию

В мобильных браузерах при переходе по ссылке или переходеJavascriptПри определении кликабельного элемента появится синяя рамка, как ее убрать?

-webkit-tap-highlight-color: rgba(255, 255, 255, 0);

9. Буквица

.wrap:first-letter {
  float: left;
  color: green;
  font-size: 30px;
}

10. CSS реализует треугольники

<div style="display: flex;">
    <div class="triangle-up">正三角</div>
    <div class="triangle-down">倒三角</div>
    <div class="triangle-left">左三角</div>
    <div class="triangle-right">有三角</div>
</div>
.triangle-up { 
  width: 0; 
  height: 0; 
  border-left: 50px solid transparent; 
  border-right: 50px solid transparent; 
  border-bottom: 100px solid red; 
}
.triangle-down { 
  width: 0; 
  height: 0; 
  border-left: 50px solid transparent; 
  border-right: 50px solid transparent; 
  border-top: 100px solid red; 
}
.triangle-left { 
  width: 0; 
  height: 0; 
  border-bottom: 50px solid transparent;
  border-right: 100px solid red;
  border-top: 50px solid transparent;
}
.triangle-right {
  margin-left: 10px;
  width: 0; 
  height: 0; 
  border-bottom: 50px solid transparent;
  border-left: 100px solid red;
  border-top: 50px solid transparent;
}

11. Блокировка подсветки элементов в мобильных браузерах Webkit

.css {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

12. Удалите стандартную границу некоторых элементов в браузере.

Удалить границы по умолчанию для отдельных ярлыков

img,
input,
button,
textarea {
  border: none;
  -webkit-appearance: none;
}
textarea {
  /*textarea 默认不可以放缩*/
  resize: none;
}

13. Отмените кнопки операций некоторых элементов управления цифровым вводом браузера.

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

14. Обтекание CSS

/* 强制不换行 */
.div {
  white-space: nowrap;
}
/* 自动换行 */
.div {
  word-wrap: break-word;
  word-break: normal;
}
/* 强制英文单词断行 */
.div {
  word-break: break-all;
}

15. Изображение центрируется вверх, вниз, влево и вправо

<div>
    <img src="https://mp.weixin.qq.com/mp/qrcode?scene=10000004&size=102&__biz=MzI2MTMxNzI3OQ==&mid=2247483853&idx=1&sn=2d683d48d247121984a47db5268df05e&send_time=" alt="">
</div>
div {
  width: 200px;
  height: 200px;
  border: 1px solid #ccc;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

16. Небольшие горизонтальные полосы по обеим сторонам заголовка

<div class="title">标题</div>
.title {
  color: #e1767c;
  font-size: 30px;
  text-align: center;
  position: relative;
}
.title:before,
.title:after {
  content: "";
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  border-top: 2px solid #e1767c;
  width: 40px;
}
.title:before {
  margin-left: -60px;
}
.title:after {
  margin-left: 60px;
}

17. Отступ текста

.text {
    text-indent: 20px;
}