你不知道的css(1)

127 阅读3分钟

你不知道的css

  1. 使用 :not() 伪类进行样式排除::not() 伪类允许您选择不符合某个条件的元素,并应用样式。例如,想要为所有非按钮元素的文本设置颜色,可以这样写:

    p:not(.button) {
      color: #333;
    }
    
  2. 利用 currentColor 自动获取颜色:currentColor 关键字代表元素当前的 color 属性值。当您想要为元素的边框或背景应用相同的颜色时,非常有用:

    .box {
      color: #f00;
      border: 1px solid currentColor;
    }
    
  3. 使用 clamp() 实现响应式文字大小:clamp() 函数可以限制 CSS 属性的最大值和最小值。例如,根据屏幕大小设置标题字号:

    h1 {
      font-size: clamp(1.5rem, 4vw, 2.5rem);
    }
    
  4. 使用 :is() 伪类简化选择器::is() 伪类接受一个参数,在参数中的选择器之间匹配。这有助于简化复杂的选择器:

    :is(p, h1, h2)::first-letter {
      font-weight: bold;
    }
    
  5. 使用 backdrop-filter 创建模糊背景效果:这个 CSS 属性可以对元素后面的内容应用滤镜效果,例如创建模糊效果:

    .modal {
      backdrop-filter: blur(10px);
    }
    
  6. 使用 object-fit 控制图片缩放:object-fit 属性既可实现图片等比例填充容器,又不会导致图片失真。将它应用于 img 标签会产生极佳效果:

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
  7. flex: 0 1 auto VS flex: 1 0 auto:这两个设置在 flex 容器中为子元素指定了不同的缩放和收缩行为。前一个值表明子元素可缩放但不可扩展,而后一个值正好相反。

    .flex-container {
      display: flex;
    }
    .shrink-only {
      flex: 0 1 auto;
    }
    .expand-only {
      flex: 1 0 auto;
    }
    
  8. 使用 calc() 进行动态计算:CSS 中的 calc() 函数允许您进行简单数学计算,非常适合创建复杂布局或需根据内部元素动态计算的容器:

    .container {
      width: calc(50% - 40px);
    }
    
  9. 使用 :not() 伪类进行样式排除::not() 伪类允许您选择不符合某个条件的元素,并应用样式。例如,想要为所有非按钮元素的文本设置颜色,可以这样写:

    p:not(.button) {
      color: #333;
    }
    
  10. 利用 currentColor 自动获取颜色:currentColor 关键字代表元素当前的 color 属性值。当您想要为元素的边框或背景应用相同的颜色时,非常有用:

    .box {
      color: #f00;
      border: 1px solid currentColor;
    }
    
  11. 使用 clamp() 实现响应式文字大小:clamp() 函数可以限制 CSS 属性的最大值和最小值。例如,根据屏幕大小设置标题字号:

    h1 {
      font-size: clamp(1.5rem, 4vw, 2.5rem);
    }
    
  12. 使用 :is() 伪类简化选择器::is() 伪类接受一个参数,在参数中的选择器之间匹配。这有助于简化复杂的选择器:

    :is(p, h1, h2)::first-letter {
      font-weight: bold;
    }
    
  13. 使用 backdrop-filter 创建模糊背景效果:这个 CSS 属性可以对元素后面的内容应用滤镜效果,例如创建模糊效果:

    .modal {
      backdrop-filter: blur(10px);
    }
    
  14. 使用 object-fit 控制图片缩放:object-fit 属性既可实现图片等比例填充容器,又不会导致图片失真。将它应用于 img 标签会产生极佳效果:

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
  15. flex: 0 1 auto VS flex: 1 0 auto:这两个设置在 flex 容器中为子元素指定了不同的缩放和收缩行为。前一个值表明子元素可缩放但不可扩展,而后一个值正好相反。

    .flex-container {
      display: flex;
    }
    .shrink-only {
      flex: 0 1 auto;
    }
    .expand-only {
      flex: 1 0 auto;
    }
    
  16. 使用 calc() 进行动态计算:CSS 中的 calc() 函数允许您进行简单数学计算,非常适合创建复杂布局或需根据内部元素动态计算的容器:

    .container {
      width: calc(50% - 40px);
    }
    

未完持续更新