前端与CSS | 青训营笔记

53 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

一、本次笔记的重点内容:

  • Css的一些小tips(比较熟悉的不再进行说明)
  • Flex布局

二、详细知识点介绍:

1.选取标签名

在平常我们写css进行对html修饰的时候,通常直接用标签的class名称或者id名进行选取,这边提几点可以帮助快速选取合适的标签进行修饰的小方法。这边用a或input标签做举例

  1. 输入框为密码类型的样式
input [type="password"]{}
  1. 路径开头为#的样式
a[href^="#"]{}
  1. 路径结尾为.jpg的样式
a[href$=".jpg"]{}
  1. 访问过该a标签的样式
a:visited{}
  1. 带有链接的a标签样式
a:link{}
  1. 鼠标移上的样式
a:hover{}
  1. 鼠标点击的样式
a:active{}

2.颜色

提到颜色,大家可能先想到的肯定是rgba了,还有一种表示颜色的方法今天学到了,就是hsla。 简单介绍一下

h:色相(0~360)

s:饱和度(0~100%)

l:亮度(0~100%)

a:透明度(0~1)可省略

例如:

background-color:hsl(360,50%,50%);

image.png

大家可以去试试噢

3.边框的巧妙运用

我们可以根据边框的特性进行制作一些巧妙的图形

比如:

.border {
  width: 0;
  height: 0;
  border-top: 100px solid rgb(85, 255, 0);
  border-left: 100px solid red;
  border-right: 100px solid rgb(55, 0, 255);
  border-bottom: 100px solid rgb(255, 230, 0);
}

image.png

或者通过设置其他边框的长度或者透明度实现不同的三角形(亲测好用)

  .border {
    width: 0;
    height: 0;
    border-top: 50px solid rgba(255, 255, 255,0);
    border-left: 100px solid red;
    border-bottom: 50px solid rgba(255, 255, 255,0);
  }

image.png

4.flex布局

这应该是css比较厉害的杀手锏了(除grid布局外),也是大家最常用的一个弹性布局。

简单介绍一下flex的基础属性,具体用法在下面展示

  display: flex;
   /* 主轴对齐—水平划分居中 */
  justify-content: space-between;
  /* 主轴对齐-水平居中 */
  justify-content: center;
  /* 侧轴对齐—垂直居中 */
  align-items: center;

相应的还有:

flexibility(值为数字)
flex-grow: 有剩余空间时的伸展能力
flex-shrink:容器空间不足时收缩的能力
flex-basis:没有伸展或收缩时的基础长度(px)

三、实践练习例子:

相应的例子在上面都有说明,这边就只展示flex布局的例子啦

首先定义一个容器,里面有相应的子容器,并给上固定的宽高(我这边是父容器300px,子容器80px),一开始是这样的排布

image.png

当加上flex属性后,会发现变成的横向排布,因为父容器内的子容器不能超出父容器的宽度,因此子容器的宽度被压缩了,那要怎么解决呢

  • display
display: flex;

image.png

利用flex-wrap可以让其超出父容器宽度的其他子元素进行换行

  • flex-wrap属性
flex-wrap: wrap;

image.png

这只是默认的排版样式,如果要有更多的排布方式,只需要添加justify-content属性

  • justify-content
justify-content: space-between;

image.png

如果不想要其中的数字顺序,还可以变换方向默认为行方向,纵方向为column

  • flex-wrap属性
flex-direction: column;

image.png

还有其他的一些样式在上面有给大家介绍,可以回去试试,大概的排布样式如图所示

image.png

image.png

四、总结:

这次学习让我认识到了更多的css用法,也对flex布局有了更深的认识,希望上述笔记的梳理可以帮到大家!然后还有grid布局,我会在下次也进行介绍,感谢大家观看,如有错误,欢迎指出