阅读 75

CSS知识积累

1、自定义变量var

css现在支持自定义变量了,有了这个特性做主题功能就方便多了
html结构

<div class="parent">
  <div class="child">测试内容</div>
</div>

基础用法:var(color,default),var接收两个参数,第一个是自定义样式,第二个是默认样式,当自定义颜色变量不存在时会设置成默认样式

<style>
  :root{
    --color:black/*变量通过--声明*/
  }
  .child{
    color:var(--color,#333) /*文字会显示成黑色*/
  }
</style>

可以在任何标签内声明变量,优先级计算方式与其他样式相同

<style>
  body{
    --color:red/*变量可以在任意标签内声明,优先级计算方式跟别的样式一样*/
  }
  :root{
    --color:black
  }
  .child{
    color:var(--color) /*文字会显示成红色,因为body标签的优先级比伪类的优先级高*/
  }
</style>

下面的例子中parent优先级最高

<style>
  body{
    --color:red
  }
  :root{
    --color:black
  }
  .parent{
     --color:blue /*变量可以在任意标签内声明,这里parent优先级最高*/
  }
  .child{
    color:var(--color) /*文字会显示成蓝色*/
  }
</style>

可以通过js动态修改div的样式修改主题颜色,下面的例子可以通过修改parent类名调整child的字体颜色

<style>
  body{
    --color:red
  }
  :root{
    --color:black
  }
  .parent{
     --color:blue
  }
  .parent02{
    --color:purple  /*parent02比parent优先级高,因为是后声明的,可以通过js动态修改class改变child的字体颜色*/
  }
  .child{
    color:var(--color)
  }
</style>

2、事件穿透pointer-events

事件穿透就是取消该元素事件触发的能力,任何事件都不会在这个元素上触发,事件会透过该元素穿透到他下边的元素上,他可以附两个值auto和none,默认auto

<div class="bottom">
  <div class="top"><div>
<div>
<style>
  .bottom:{
    width:200px;
    height:200px;
    position:relative;
  }
  .top{
    position:absolute;
    top:0;
    left:0;
    z-index:9;
    width:100%;
    height:100%;
    pointer-events:none; /*点击top时点击事件会作用到bottom上边,bottom的点击事件被触发*/
  }
</style>

这个样式可以在一些修饰性元素上添加

3、省略号,查出容器范围显示省略号

<div class="text>省略号,查出容器范围显示省略号</div>
<style>
  /*单行省略号*/
  .text:{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  /*多行省略号*/
  .text{
    display: -webkit-box; //
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
</style>

4、背景渐变色

<div class="box"></div>
<style>
  .box{
    width:200px;
    height:200px;
    background: linear-gradient(to right, red , blue);
    /*background-image:linear-gradient(to right, red , blue);*//*也可以使用background-image*/
  }
</style>

5、文字渐变色

<div class="box">我有渐变色</div>
<style>
  .box{
        background-image: linear-gradient(90deg,red,blue);
        -webkit-background-clip:text;
        color: transparent;
  }
</style>

6、calc计算

注意:运算符两侧需要空格,没有空格会失效,可以使用vw,vh和百分比进行计算

<style>
.box{
  width:100vw;
  height:calc(100vh - 60px);
}
</style>

7、谷歌浏览器记住密码的input输入框默认背景色覆盖
谷歌记住密码的输入框会有一个如下的背景色,通过background无法覆盖掉,可以使用box-shadow去除


input{
  box-shadow:0 0 1000px #fff inset;
}

作者:晚饭总吃撑

原文链接:https://www.jianshu.com/p/3bcb1fd8cd4d

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐