css

57 阅读2分钟

1、css预处理器

blog.csdn.net/Si_da_da/ar…

常见的css预处理器有:saas、less

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。

1、变量:

//less中

@my-selector: banner;

.@{my-selector} {
   font-weight: bold;
   line-height: 40px;
   margin: 0 auto;
}



//css中

.banner {
font-weight: bold;
line-height: 40px;
margin: 0 auto;
}

2、&父选择器

a {
  color: blue;
  &:hover {
    color: green;
  }
}
 
 
 
//css
 
a {
  color: blue;
}
 
a:hover {
  color: green;
}

3、嵌套

// less: 
    ul {
        padding: 0;
        li {color: #e4e4e4;}
        a {text-decoration: none;}
    }
// css:
    ul {padding: 0;}
    ul li {color: #e4e4e4;}
    ul a {text-decoration: none;  
    

2、css3新属性

blog.csdn.net/weixin_4508…

  • 1.新增了更加实用的选择器,例如:动态伪类选择器,目标伪类选择器,伪元素选择器等等。
  • 2.新增了更好的视觉效果,例如:圆角,阴影,渐变等。
  • 3.新增了丰富的背景效果,例如:支持多个图片背景,同时新增了若干个背景元素的属性。
  • 4.新增了全新的布局方案—弹性盒子。
  • 5.新增了web字体,可以显示用户电脑上没有安装的字体
  • 6.增强了颜色,例如:HSL,HSLA,RGBA几种新的颜色模式,新增opacity属性来控制透明度。
  • 7.增加了2D和3D变换,例如:旋转,扭曲,缩放,位移等。
  • 8.增加动画和过渡效果,让效果的变换更具流线性,平滑性

3、flex布局

blog.csdn.net/msq6678/art… 弹性盒布局。

它可以简化复杂的布局任务,特别是在需要动态调整元素位置和大小时非常有用。

  • flex-direction:决定主轴的方向。
  • flex-wrap:如果一条轴线排不下,如何换行。
  • flex-flow:flex-direction 属性和 flex-wrap 属性的简写属性。
  • justify-content:定义项目在主轴上的对齐方式
  • align-items:定义项目在交叉轴上如何对齐
  • align-content:定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

一般使用场景是:垂直居中,动态分配空间

垂直居中:

image.png

<body style="width: 100%;height: 100%;color: black;">
  <div class="a">
    <div class="b"></div>
  </div>
</body>
<script>
export default {
  name: 'Index'
};
</script>
<style lang="less" scoped>
.a{
  background-color: aqua;
  width: 400;
  height: 400;
  display: flex;
  justify-content: center;
  align-items: center;
}
.b{
    background-color: brown;
    width: 20;
    height: 20;
  }
</style>

动态分布空间

  • flex-grow:定义项目的放大比例,如果存在剩余空间,该项目将会按这个比例放大。
  • flex-shrink:定义项目的收缩比例,如果空间不足,该项目将会按这个比例收缩。
  • flex-basis:定义了在分配多余空间之前,项目占据的主轴空间(可以理解为项目初始大小)。

当你设置 flex: 1 时,相当于:

flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;

这意味着该 flex 项目将能够增长以填充容器中的可用空间,并且如果需要的话,也会相应地缩小。它使得 flex 项目非常灵活,可以根据容器的尺寸动态调整自己的大小。