跳至正文
Wener Notes

CSS

约 3 分钟阅读

Spec

Topics

Print

css
/*  页眉 */
@page {
  @top-center {
    content: element(pageHeader);
  }
}
#pageHeader {
  position: running(pageHeader);
}

CSS 滤镜

css
/* 对滤镜使用渐变 */
.active {
  transition: 1s filter linear;
  -webkit-transition: 1s -webkit-filter linear;
  -moz-transition: 1s -moz-filter linear;
  -ms-transition: 1s -ms-filter linear;
  -o-transition: 1s -o-filter linear;
}

在 CSS 中使用 FontAwesome

css
.mytextwithicon {
  position: relative;
}
.mytextwithicon:before {
  content: '\25AE'; /* 修改为需要的值 */
  font-family: FontAwesome;
  left: -5px;
  position: absolute;
  top: 0;
}

flex

css
/* 针对容器的属性 */
.container{
  display: flex;
  /* 排序方向 */
  flex-direction: row;
  /*flex-direction: row | row-reverse | column | column-reverse;*/

  /* 换行控制 */
  flex-wrap: nowrap
  /*flex-wrap: nowrap | wrap | wrap-reverse;*/

  /* flex-direction 和 flex-wrap 的缩写 */
  flex-flow: row nowrap;
  /*flex-flow: <‘flex-direction’> || <‘flex-wrap’>*/

  /* 内容间隔控制 */
  justify-content: flex-start;
  /*justify-content: flex-start | flex-end | center | space-between | space-around;*/

  /* 内容对齐控制 */
  align-items: flex-start;
  /*align-items: flex-start | flex-end | center | baseline | stretch;*/

  /* 控制内容有多行时的行间距 */
  align-content: flex-start;
  /*align-content: flex-start | flex-end | center | space-between | space-around | stretch;*/
}
/* 针对自身的属性 */
.item{
  /* 顺序控制 */
  /*order: <integer>;*/

  /* 宽度增长控制 */
  flex-grow: 0;
  /*flex-grow: <number>;*/

  /* 宽度收缩控制 */
  flex-shrink: 0;
  /*flex-shrink: <number>;*/

  /* 基础尺寸控制 */
  flex-basis: auto;
  /*flex-basis: <length> | auto;*/

  /* 参数缩写 */
  flex: 0 0 auto;
  /*flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]*/

  /* 元素对齐控制 */
  align-self: flex-start;
  /*align-self: auto | flex-start | flex-end | center | baseline | stretch;*/
}

文本溢出显示省略号

css
.over-test {
  width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

避免点击高亮

css
.button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}
JavaScript
// 允许 css 中的 :active 样式在移动端 safari 生效
document.addEventListener('touchstart', function () {}, true);

visibility 在动画中的问题

  • 在动画中如果结束 visibility: hidden, 那会导致直接不进行动画
css
.target {
  /* 将 visibility 也加入转换, 时间等同 */
  transition: opacity 250ms ease-out, visibility 250ms linear;
}

避免 div 处理点击事件

  • 当两个 div 重叠的时候, 不希望第一个透明的 div 处理事件
  • 当 opacity:0 的时候, 不希望处理事件
  • pointer-events
  • touch-action
    • 可用于手势控制
    • 支持的较好的只有 manipulation, 等同于 pan-x pan-y pinch-zoom
    • 左右滑,上下滑,缩放
css
.overlay {
  pointer-events: none;
}
.container .button {
  pointer-events: auto;
}

比例宽高

css
.container {
  width: 100%;
  /* 4:3 */
  padding-bottom: 75%;
}

/* 保证绝对的 9/16, 并且在屏幕居中 */
.container {
  width: 100vw;
  height: calc(100vw * 16 / 9);
  transform: translateY(calc((100vw * 16 / 9 - 100vh) / -2));
}
aspect ratiopadding-bottom value
16
56.25%
4
75%
3
66.66%
8
62.5%

关联信息

反向链接、本文链接的其他页面和外部资料。

参考资料

GitHub1 条
其他外链19 条
最近更新commit 0e1da89编辑