前端css样式小知识点(大杂烩)

news2025/2/26 3:51:09

文章目录

    • 一、前言
    • 二、图文实操讲解
      • 1、使用微信开发者工具,如何整洁代码的快捷键
      • 2、微信小程序中rpx和px有什么区别
      • 3、css中flex设置为1是什么意思
      • 4、opacity:1 的作用是什么
        • 效果图:
      • 5、css样式如何实现半圆等
        • 效果图:
      • 6、css样式如何将图片置于元素最上面
        • 效果图:
      • 7、css样式,字体阴影效果
        • ①盒子阴影
        • ②文字阴影
      • 8、padding-bottom: env(safe-area-inset-bottom);的作用
        • 示例一:自定义tabBar
        • 示例二:自定义全屏遮罩
      • 9、css样式基础文字样式
        • ① color:属性值;文字颜色
        • ②font-family:宋体;文字类型
        • ③font-size:18px; 文字大小
        • ④ font-weight:400; 文字粗细
        • ⑤font-style:normal; 字体样式
        • ⑥line-height:18px; 字体行高
        • ⑦letter-spacing: 0.1em; 设置字体间距属性
        • ⑧text-align:center; 文本对齐
        • ⑨ text-indent:2rem; 文本间距
      • 10、white-space: nowrap;作用
      • 11、CSS position(定位)属性
        • ①CSS position(定位)属性
        • ②position: static
        • ③position: relative
        • ④position: absolute
        • ⑤position: fixed
        • ⑥position: sticky
        • ⑦position: inherit
        • ⑧总结
      • 12、CSS display:flex(弹性布局)
        • ①flex布局的基本概念
        • ②**flex-direction: row; 布局的排列方向 (主轴排列方向)**
        • ③flex-wrap : nowrap; 是否进行换行处理。此语法是加在父元素身上的。
        • ④justify-content ; 属性决定了主轴方向上子项的对齐和分布方式。
        • ⑤align-items : 每一行中的子元素上下对齐方式。
        • ⑥align-content :
        • ⑦flex-shrink
      • 13、css居中实现方式
        • ①flex布局设置居中
        • ②flex-给子项设置
        • ③绝对定位
        • ④tabel-cell实现垂直居中
        • ⑤grid设置居中
    • 待更新完成

一、前言

  一些前端css样式的知识点、琐碎,但是有些很常用,当时却总是想不起来,又要自己进行搜索,就很麻烦,就部分简单记录一下。

二、图文实操讲解

1、使用微信开发者工具,如何整洁代码的快捷键

Shift+Alt+F		//代码格式化

2、微信小程序中rpx和px有什么区别

  区别:①rpx是相对长度单位,而px是固定长度单位;②rpx可以自适应手机分辨率,适配当前机型,而px不能很好的适应不同分辨率的手机。

3、css中flex设置为1是什么意思

flex包含三个属性:flex-grow,flex-shrink,flex-basis
flex-grow: 默认值为0,代表元素的放大比例,当一个容器有多余的空间时,设置容器内某个元素的放大比例,该元素会对多余空间根据设置的比例分配大小
flex-shrink:默认值为1,代表元素的缩小比例,当空间不足时,多个元素会按照比例同样缩小,如果设置某个元素这个值为0,代表空间不足时该元素不缩小
flex-basis:代表元素再分配多余空间前所占比例,默认值auto等于元素本身大小不变
flex设置为1等同与flex-grow设置为1,元素分配剩余空间时按照设置的值进行等比例分配

.item {
flex: 1;
}
/* 等同 */
.item {
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;
}

4、opacity:1 的作用是什么

  opacity从0-1表示了一个元素的可见度,在0时会完全看不见,1表示完全可见。opacity的用处要参考设计,是否要设置一个元素恰当的透明度值

.div{
  width: 100px;
  height: 100px;
  border: 1px solid #000;
  background-color: red;
  border-radius: 50%;
  opacity: 0.5;		//设置了0.5
}
.div2{
  width: 100px;
  height: 100px;
  border: 1px solid #000;
  background-color: red;
  border-radius: 50%;
  opacity: 1;	//正常默认1
}

效果图:

在这里插入图片描述

5、css样式如何实现半圆等

border-radius的顺序是 左上 右上 右下 左下

.div{
  width: 100px;
  height: 100px;
  border: 1px solid #000;
  background-color: red;
  border-radius: 50%;
}
.div2{
  width: 100px;
  height: 50px;
  border: 1px solid #000;
  background-color: red;
  /* border-radius的顺序是 左上 右上 右下 左下 */
  /* 半圆朝左,右边上下角是圆的,左边上下角的宽度设置为0 */
  /* div盒子宽度为高度的一半 */
  /* 右上和右下的宽度与高度取50或者100都没问题 */
  border-radius: 0 0 100px 100px;
}

圆形就更简单了设置 border-radius:50%;即可。

效果图:

在这里插入图片描述

6、css样式如何将图片置于元素最上面

  在css中,可以利用“z-index”属性将图片置于元素最上面,该属性用于设置元素的堆叠顺序,属性的值越大,元素显示的顺序也就越靠前,语法为“图片元素{z-index:number;}”。

.div image{
  width: 100px;
  height: 100px;
  border: 1px solid #000;
  border-radius: 50%;
  z-index: 0;
}
image{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 50px;
  height: 50px;
  z-index: 1;
}

效果图:

在这里插入图片描述

7、css样式,字体阴影效果

①盒子阴影

box-shadow: h-shadow v-shadow blur spread color inset;
  • h-shadow 必需的。水平阴影的位置。允许负值
  • v-shadow 必需的。垂直阴影的位置。允许负值
  • blur 可选。模糊距离
  • spread 可选。阴影的大小
  • color 可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
  • inset 可选。从外层的阴影(开始时)改变阴影内侧阴影
<!--index.wxml-->
<view class="container">
  <view class="shadow">阴影</view>
</view>

<!--index.wxss-->
.shadow{
  width:200rpx;
  height:200rpx;
  background-color: #000000;
  box-shadow: 40px 80px 20px 30px #00FF00;
}

效果图:
在这里插入图片描述

②文字阴影

text-shadow:hpx vhpx rpx color
  • hpx 水平偏移
  • vpx 垂直偏移
  • rpx 模糊度
  • color 阴影颜色
  • 多个阴影用逗号隔开
<!--index.wxml-->
<view class="container">
  <view class="shadow">阴影</view>
</view>

<!--index.wxss-->
.shadow{
  font-size:100rpx;
  text-shadow: 10px 10px 10px #09ff00;
}

效果图:
在这里插入图片描述

8、padding-bottom: env(safe-area-inset-bottom);的作用

示例一:自定义tabBar

page{
width: 100%;
height: 50px;
position: fixed;
botttom: env(safe-area-inset-bottom);
background-color: #108ee9;
}
编译到IOS端,正常显示为:固定在底部安全距离之上的tab条
编译到Android机器,fixed布局失效,悬浮在顶部

示例二:自定义全屏遮罩

page{
width: 100%;
position: fixed;
top: 0;
botttom: env(safe-area-inset-bottom);
background-color: rgba(0,0,0,0.3);
}
编译到IOS端,正常显示为:遮盖除底部安全距离之外的区域,黑色半透明遮罩层
编译到Android机器,没掉,需改为bottom: 0,方可正常显示

9、css样式基础文字样式

① color:属性值;文字颜色

其中属性值包括颜色名称,如red、blue、yellow等等;

②font-family:宋体;文字类型

font-family后可以写三种字体样式,以应对不同浏览器的适用。若设置的样式对应的浏览器都不支持,那么将使用对应浏览器默认的样式。这里的样式值可以写中文如:宋体、楷体等等,也可以是英文如Time New Roman

③font-size:18px; 文字大小

font-size后直接跟学要设置的字体大小,这里的值可以是数字,数字加单位,也可以是英文,如:small、large、medium等等

④ font-weight:400; 文字粗细

font-weight表示字体的粗细,可以设置100、200~700,其中400表示默认粗细,700表示加粗和bold相同作用,还可以是bold,lighter,normal等等

⑤font-style:normal; 字体样式

font-style可以填的属性包括normal,italic,oblique。后两个表示斜体,但主要使用italic,oblique支持的浏览器比较少

⑥line-height:18px; 字体行高

可以给文字段落设置行高,一般行高要求设置的值要大于文字的大小,防止文字被挤压变形。字体行高还有一个作用就是可以让文字垂直居中显示。

⑦letter-spacing: 0.1em; 设置字体间距属性

⑧text-align:center; 文本对齐

文本对齐可以填入的值包括center,left,right,justify(两端对齐),inherit(表示继承自父元素的text-align的样式)

⑨ text-indent:2rem; 文本间距

文本缩进,text-indent:2rem;正数表示文本向右缩进的距离,反之负数表示文本向左缩进的距离

10、white-space: nowrap;作用

white-space:nowrap强制同一行内显示所有文本文字,让所有文字内容中一排显示不换行。
normal 默认。空白会被浏览器忽略。
pre 空白会被浏览器保留。其行为方式类似 HTML 中的 pre标签。
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到
标签为止。
pre-wrap 保留空白符序列,但是正常地进行换行。
pre-line 合并空白符序列,但是保留换行符。
inherit 规定应该从父元素继承 white-space 属性的值。

11、CSS position(定位)属性

①CSS position(定位)属性

absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。

fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”,“right” 以及 “bottom” 属性进行规定。

relative:生成相对定位的元素,相对于其正常位置进行定位。因此,“left: 20px” 会向元素的 left 位置移动 20 像素。

static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

inherit:规定应该从父元素继承 position 属性的值。

CSS position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left 属性则决定了该元素的最终位置。

什么是文档流(normal flow)
normal flow 国内多译为文档流;
窗体自上而下分成一行一行,并在每行中按从左至右的顺序排放元素;
每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端,若当前行容不下,则另起一行再浮动;
内联元素也不会独占一行,几乎所有元素(包括块级,内联和列表元素)均可生成子行,用于摆放子元素;
有三种情况将使得元素脱离normal flow而存在,分别是 float,absolute ,fixed,但是在IE6中浮动元素也存在于normal flow中。

②position: static

  该关键字指定元素使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时 top、right、bottom、left 属性无效。static是position的默认值

<!--index.wxml-->
<view class="container">
  <view class="content">static是position的默认值</view>
</view>

/* index.wxss */
.container{
  background-color: #868686;
  width: 100%;
  height: 300px;
}
.content{
  background-color: yellow;
  width: 100px;
  height: 100px;
  position: static;
  left: 10px;/* 这个left没有起作用 */
}

对 content 的 position 设定 static 后,left就失效了,而元素(content)就以正常的 normal flow 形式呈现。
效果图:
在这里插入图片描述

③position: relative

  该关键字下,元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置(因此会在此元素未添加定位时所在位置留下空白)。position:relative 对 table-*-group, table-row, table-column, table-cell, table-caption 元素无效。相对于normal flow中的原位置来定位。
这个属性是指元素会依据自己原先的位置为基准进行偏移,但是其原先位置依然会存在,不会干扰相邻的元素。

<!--index.wxml-->
<view class="container">
  <view class="content"></view>
  <view class="content1"></view>
  <view class="content2"></view>

</view>

/* index.wxss */
.container {
  background-color: #868686;
  width: 100%;
  height: 300px;
}
.content {
  background-color: yellow;
  width: 100px;
  height: 100px;
}
.content1 {
  background-color: red;
  width: 100px;
  height: 100px;
  position: relative;/* 这里使用了relative  */
}
.content2 {
  background-color: black;
  width: 100px;
  height: 100px;
}

效果图:
在这里插入图片描述

这是没有设置left、top等属性时,正常出现在normal flow中的位置。
接着添加left、top:可以看到,元素(content1)的位置相对于其原位置(normal flow中的正常位置)进行了移动。

.content {
    background-color: yellow;
    width: 100px;
    height: 100px;
    position: relative;
    /* 这里使用了relative  */
    left: 20px;
    top: 20px;
    /* 这里设置了left和top */
}

效果图:
在这里插入图片描述

④position: absolute

  不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置。绝对定位的元素可以设置外边距(margin),且不会与其他边距合并。
生成绝对定位的元素,其相对于 static 定位以外的第一个父元素进行定位,会脱离normal flow。注意:是除了static外

<!--index.wxml-->
<view class="container">
  <view class="content"></view>
</view>
    
/* index.wxss */
.container {
  background-color: #868686;
  width: 100%;
  height: 300px;
  margin-top: 50px;
}
.content {
  background-color: red;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 10px;
}

效果图:
在这里插入图片描述

因为 content 的父元素 container 没有设置 position,默认为 static,所以找到的第一个父元素是 body,可以看成是元素(content)相对于 body 向下移动10px。
绝对定位,当有一级父对象(无论是父对象还是祖父对象)的Position属性值为Relative或者absolute时,则上述的相对浏览器窗口定位将会变成相对父对象定位,这对精确定位是很有帮助的以父级元素为基础进行定位,若没有父级定位则以浏览器为基准进行定位 并且会影响相邻的元素

⑤position: fixed

  不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。打印时,元素会出现在的每页的固定位置。fixed属性会创建新的层叠上下文。当元素祖先的 transform 属性非 none 时,容器由视口改为该祖先。
fixed相对于window固定,滚动浏览器窗口并不会使其移动,会脱离normal flow。

<!--index.wxml-->
<view class="container">
  <view class="content"></view>
</view>

/* index.wxss */
.container {
  background-color: #868686;
  width: 100%;
  height: 300px;
  margin-top: 50px;
}
.content {
  background-color: red;
  width: 100px;
  height: 100px;
  position: fixed; /* 这里使用了fixed */
  left: 200px
}   

效果图:
在这里插入图片描述

⑥position: sticky

  盒位置根据正常流计算(这称为正常流动中的位置),然后相对于该元素在流中的 flow root(BFC)和 containing block(最近的块级祖先元素)定位。在所有情况下(即便被定位元素为 table时),该元素定位均不对后续元素造成影响。当元素 B 被粘性定位时,后续元素的位置仍按照 B 未定位时的位置来确定。position: sticky对 table元素的效果与 position: relative 相同。

/* 顶部logo和导航区 */
.top {
    width: 100%;
    height: 78px;
    background: #58bc58;
    position: sticky;
    top: 0;
    /* 设置层级,防止被其他定位元素覆盖 */
    z-index: 300;
    /* 给导航栏加上阴影,显得更加真实 */
    box-shadow: 0 0 15px rgb(0 0 0 / 80%);
}

使用案例效果图:
在这里插入图片描述

⑦position: inherit

规定应该从父元素继承 position 属性的值。

<!--index.wxml-->
<view class="container">
  <view class="content"></view>
</view>

/* index.wxss */
.container {
  position: fixed;
  left: 0;
  top: 0;
  background-color: #868686;
  width: 100%;
  height: 100px; /* 注意 */
}

.content {
  position: inherit;
  /*  继承了父元素的fixed;此时就会相对于浏览器定位;不会相对于父元素定位 */
  background-color: red;
  width: 100px;
  height: 100px;
  top: 100px;
  left: 200px
}

⑧总结

position: relative;不会脱离文档流,position: fixed,position: absolute会脱离文档流
position: relative; 相对于自己在文档流中的初始位置偏移定位。
position: fixed; 相对于浏览器窗口定位。
position: absolute; 是相对于父级非 position:static 浏览器定位。
如果没有任何一个父级元素是非 position:static属性,则会相对于文档定位。
这里它的父级元素是包含爷爷级元素、祖爷爷级元素、祖宗十八代级元素的。任意一级都可以。
如果它的父级元素和爷爷级元素都是非 position:static 属性,则,它会选择距离最近的父元素。

12、CSS display:flex(弹性布局)

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
它即可以应用于容器中,也可以应用于行内元素。(以上说明结合微信开发者工具说明)2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。

①flex布局的基本概念

在这里插入图片描述

  采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex子项(flex item),简称"子项"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。子项默认沿主轴排列。单个子项占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。
容器属性
属性名称 属性含义
flex-direction 容器内子项的排列方向(默认横向排列)
flex-wrap 容器内子项换行方式
flex-flow 以上两个属性的简写方式
justify-content 子项在主轴上的对齐方式
align-items 子项在交叉轴上如何对齐
align-content 定义了多根轴线的对齐方式。如果子项只有一根轴线,该属性不起作用。
元素属性

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

flex-direction: row; 布局的排列方向 (主轴排列方向)

row :显示为行。方向为当前文档水平流方向,默认情况下是从左往右(默认值);
row-reverse :显示为行。但方向和row属性值是反的,在水平方向上为从右往左;
column: 显示为列 方向为在垂直方向上从上到下;
column-reverse :显示为列。但方向和column属性值是反的。

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
  <view class="content2">元素2</view>
  <view class="content3">元素3</view>
</view>


/* index.wxss */
.containers {
  display: flex;  /*默认*/
}

.content{
  background-color: red;
  width: 100px;
  height: 100px;
}
.content2{
  background-color: blue;
  width: 100px;
  height: 100px;
}
.content3{
  background-color: blueviolet;
  width: 100px;
  height: 100px;
}
    

效果图:
在这里插入图片描述

修改后:

.containers {
  display: flex;
  flex-direction: column; 
}

效果图:
在这里插入图片描述

③flex-wrap : nowrap; 是否进行换行处理。此语法是加在父元素身上的。

nowrap:默认值,不换行处理;
wrap: 换行处理;
wrap-reverse: 反向换行;
flex-flow : flex-direction flex-wrap 复合写法 (是有顺序的,顺序一定不能乱)。
举个例子:比如容器宽度为100%,容器中有3个宽度为150px的元素,nowrap情况下,项目会强行等分容器宽度从而不换行,那么项目实际宽度也就不到150px了,而非我们自己设置的150px。

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
  <view class="content2">元素2</view>
  <view class="content3">元素3</view>
</view>

/* index.wxss */
.containers {
  display: flex;
  flex-wrap: wrap;
}

.content{
  background-color: red;
  width: 150px;
  height: 100px;
}
.content2{
  background-color: blue;
  width: 150px;
  height: 100px;
}
.content3{
  background-color: blueviolet;
  width: 150px;
  height: 100px;
}

换行效果图:
在这里插入图片描述

不换行效果图( flex-wrap: nowrap;
在这里插入图片描述

④justify-content ; 属性决定了主轴方向上子项的对齐和分布方式。

flex-start : 左对齐(默认);
flex-end : 右对齐;
center : 居中;
space-between : 两端对齐,项目之间的间隔都相等;
space-around : 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
space-evenly : evenly是匀称、平等的意思。也就是视觉上,每个flex子项两侧空白间距完全相等。

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
  <view class="content2">元素2</view>
  <view class="content3">元素3</view>
</view>

/* index.wxss */
.containers {
  display: flex;
  justify-content: center;
}

.content{
  background-color: red;
  width: 100px;
  height: 100px;
}
.content2{
  background-color: blue;
  width: 100px;
  height: 100px;
}
.content3{
  background-color: blueviolet;
  width: 100px;
  height: 100px;
}

居中效果图:

在这里插入图片描述

⑤align-items : 每一行中的子元素上下对齐方式。

stretch:如果项目未设置高度或设为auto,将占满整个容器的高度(默认值)
flex-start:顶部对齐
center:居中对齐
flex-end:底部对齐
baseline:项目的第一行文字的基线对齐

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
  <view class="content2">元素2</view>
  <view class="content3">元素3</view>
</view>

/* index.wxss */
.containers {
  display: flex;
  align-items: center;
  height: 360px;
  background: gold;
}

.content{
  background-color: red;
  width: 100px;
  height: 100px;
}
.content2{
  background-color: blue;
  width: 100px;
  height: 100px;
}
.content3{
  background-color: blueviolet;
  width: 100px;
  height: 100px;
}

居中对齐效果图
在这里插入图片描述

⑥align-content :

  与justify-content相反的操作。侧轴的对齐方式。(最少需要两行才能看出效果,因为他是多行的一个上下对齐方式)
用于控制多行项目的对齐方式,如果项目只有一行则不会起作用,需设置flex-wrap: wrap;默认stretch,即在项目没设置高度,或高度为auto情况下让项目填满整个容器,与align-items类似。

stretch:轴线占满整个交叉轴(默认值);
flex-start:与交叉轴的起点对齐;
flex-end:与交叉轴的终点对齐;
center:与交叉轴的中点对齐;
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布;
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍;

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
  <view class="content2">元素2</view>
  <view class="content3">元素3</view>
  <view class="content4">元素4</view>
  <view class="content5">元素5</view>
</view>

/* index.wxss */
.containers {
  display: flex;
  flex-wrap: wrap;
  align-content:center;
}

.content{
  background-color: red;
  width: 150px;
  height: 100px;
}
.content2{
  background-color: blue;
  width: 150px;
  height: 100px;
}
.content3{
  background-color: blueviolet;
  width: 150px;
  height: 100px;
}
.content4{
  background-color: black;
  width: 150px;
  height: 100px;
}
.content5{
  background-color: burlywood;
  width: 150px;
  height: 100px;
}

中点对齐效果图:
在这里插入图片描述

⑦flex-shrink

项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。
如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
负值对该属性无效

/* index.wxss */
.containers {
  display: flex;
  flex-shrink: 0;
}

效果图:
在这里插入图片描述

13、css居中实现方式

使用flex布局设置居中。
使用flex 时也能通过给子项设置margin: auto实现居中。
使用绝对定位的方式实现水平垂直居中。
使用tabel-cell实现垂直居中。
使用grid设置居中。
使用grid时还能通过给子项设置margin: auto实现居中。

①flex布局设置居中

  利用弹性布局(flex),实现水平居中,其中justify-content 用于设置弹性盒子元素在主轴(横轴)方向上的对齐方式

  • display: flex;写在父元素上这就是定义了一个伸缩容器
  • justify-content 主轴对齐方式,默认是横轴
  • align-items 纵轴对齐方式,默认是纵轴
<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
</view>
    
/* index.wxss */
.containers {
  display: flex;
  align-items: center; /*// 纵轴对齐方式,默认是纵轴 子元素垂直居中 */
  justify-content: center; /*//纵轴对齐方式,默认是纵轴 */

  height: 360px;
  border: 1px solid red;
}
.content{
  width: 100px;
  height: 100px;
  background: red;
}

效果图:

在这里插入图片描述

②flex-给子项设置

  第一种方式是给父盒子设置属性,这一种是给子盒子设置margin: auto实现居中。给容器设置 display: flex; 子项设置 margin: auto;

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
</view>

/* index.wxss */
.containers {
  display: flex;

  height: 360px;
  border: 1px solid red;
}
.content{
  margin: auto; /* // 水平垂直居中 */
  
  width: 100px;
  height: 100px;
  background: red;
}

效果图-同上

③绝对定位

  使用绝对定位的方式实现水平垂直居中。容器设置position: relative。子元素设置 position: absolute; left: 50%; top: 50%; transfrom: translate(-50%, -50%);

优点就是不用关心子元素的长和宽,但是这种方法兼容性依赖translate2d的兼容性

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
</view>

/* index.wxss */
.containers {
  position: relative;

  height: 360px;
  border: 1px solid red;
}
.content{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  
  width: 100px;
  height: 100px;
  background: red;
}

效果图-同上

④tabel-cell实现垂直居中

  css新增的table属性,可以让我们把普通元素,变为table元素的现实效果,通过这个特性也可以实现水平垂直居中。
而且tabel单元格中的内容天然就是垂直居中的,只要添加一个水平居中属性就好了:
:使用tabel-cell实现垂直居中,容器设置 display: table-cell;
:vertical-align: middle属性设置元素的垂直对齐方式
:子元素如果是块级元素,直接使用左右margin:auto实现水平居中。如果是行内元素,给容器设置text-align: center
利用 text-align: center 可以实现在块级元素内部的内联元素水平居中。此方法对内联元素inline, 内联块inline-block, 内联表inline-table, inline-flex元素水平居中都有效。

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
</view>

/* index.wxss */
.containers {
  display: table-cell;
  vertical-align: middle;  /*// 设置元素在垂直方向上的对齐方式 */
  text-align: center;

  height: 360px;
  border: 1px solid red;
}
.content{
  display: inline-block;

  width: 100px;
  height: 100px;
  background: red;
}

效果图-同上

⑤grid设置居中

  使用grid设置居中。给容器设置 display: grid; align-items: center; justify-content: center;
通过给容器设置属性,达到居中效果,但是这种方式兼容性较差,不推荐。

<!--index.wxml-->
<view class="containers">
  <view class="content">元素1</view>
</view>

    /* index.wxss */
.containers {
  display: grid;
  align-items: center;
  justify-content: center;

  height: 360px;
  border: 1px solid red;
}
.content{
  width: 100px;
  height: 100px;
  background: red;
}

效果图-同上

待更新完成

在这里插入图片描述

各位看官》创作不易,点个赞!!!
诸君共勉:万事开头难,只愿肯放弃。

免责声明:本文章仅用于学习参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch实用教程---从门->进阶->精通

第1章 Elasticsearch概述 Elasticsearch 是什么 The Elastic Stack, 包括 Elasticsearch、 Kibana、 Beats 和 Logstash&#xff08;也称为 ELK Stack&#xff09;。能够安全可靠地获取任何来源、任何格式的数据&#xff0c;然后实时地对数据进行搜索、分析和可视化。 Elati…

【滤波器设计】微波带低通高通带通滤波器设计【含Matlab源码 2217期】

⛄一、数字滤波器设计简介 1 设计原理 1.1 滤波器概念 1.2 数字滤波器的系统函数和差分方程 1.3 数字滤波器结构的表示 1.4 数字滤波器的分类 2.1 IIR滤波器与FIR滤波器的分析比较 2.2 FIR滤波器的原理 3 FIR滤波器的仿真步骤 ⛄二、部分源代码 function …

工作中如何规范定义Java常量

目录 1.【强制】不允许任何魔法值&#xff08;即未经预先定义的常量&#xff09;直接出现在代码中。 2.【强制】long 或 Long 赋值时&#xff0c;数值后使用大写 L&#xff0c;不能是小写 l&#xff0c;小写容易跟数字混淆&#xff0c;造成误解。 3.【强制】浮点数类型的数值…

verilog练习——组合逻辑

目录 组合逻辑 VL11 4位数值比较器电路 VL12 4bit超前进位加法器电路 VL13 优先编码器电路① VL14 用优先编码器①实现键盘编码电路 VL15 优先编码器Ⅰ VL16 使用8线-3线优先编码器Ⅰ VL17 用3-8译码器实现全减器 VL18 实现3-8译码器① VL19 使用3-8译码器①实现逻辑函…

【架构师必知必会系列】系统架构设计需要知道的5大精要(5 System Design fundamentals)...

无论是在大厂还是初创公司&#xff0c;技术产品经理 (TPM)都需要具备系统设计的基础知识。从历史上看&#xff0c;系统设计基础知识通常是软件工程师在面试时的要求&#xff0c;而 TPM 不受此期望的约束。然而&#xff0c;现在趋势正在发生变化。作为 TPM&#xff0c;您需要在面…

1.1 测控系统对测控电路的要求、测控电路中的重要指标

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

【Redis-06】从源码层面深入理解Redis主从复制的实现原理

在Redis中&#xff0c;可以通过slaveof命令或者设置slaveof选项实现两台Redis服务器的主从复制&#xff0c;比如我们有两个Redis机器&#xff0c;地址分别是 127.0.0.1:6379 和 127.0.0.1:6380&#xff0c;现在我们在前者上面执行&#xff1a; 127.0.0.1:6379 > SLAVEOF 12…

PyTorch学习笔记-Torchvision数据集使用方法

Torchvision 官方文档 Torchvision 中的 torchvision.datasets 就是 Torchvision 提供的标准数据集&#xff0c;其中有以下内容&#xff1a; 我们以 CIFAR 为例&#xff0c;该数据集包括了60000张32*32像素的图像&#xff0c;总共有10个类别&#xff0c;每个类别有6000张图像&a…

[附源码]Python计算机毕业设计高校创新学分申报管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

数据可视化:四种关系图数据可视化的效果对比!

python关系图的可视化主要就是用来分析一堆数据中&#xff0c;每一条数据的节点之间的连接关系从而更好的分析出人物或其他场景中存在的关联关系。 这里使用的是networkx的python非标准库来测试效果展示&#xff0c;通过模拟出一组DataFrame数据实现四种关系图可视化。 其余还…

【网页设计】期末大作业html+css(音乐网站)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Ubuntu 20.04.5安装无线网卡RTL8821CE驱动

陈拓 2022/11/26-2022/11/26 准备工作 查看网络设备WiFi设备未驱动。 查看WiFi设备型号 lspci | grep -i wireless 或 lspci -nn | grep -i net 设备代号10ec:c821可以用来查询验证WiFi设备型号。 在网站PCI devices查询无线设备型号&#xff1a; Wifi设备型号&#xff1a…

“面向大厂编程”一线互联网公司面试究竟问什么?打入内部针对性学习!

今年来&#xff0c;由于寒冬影响&#xff0c;各大公司都缩减了HC&#xff0c;甚至是采取了“裁员”措施&#xff0c;在这样的大环境之下&#xff0c;想要获得一份更好的工作&#xff0c;必然需要付出更多的努力。 但在最近的一份工作报告中显示&#xff0c;开发者的热门选择依…

Mysql语法四:索引查找和了解何为事务

目录 1.索引 1.1&#xff1a;使用 1.1.1&#xff1a;查看索引 1.2.2&#xff1a;创建索引 1.1.3&#xff1a;删除索引 1.2&#xff1a;索引查询的原理 1.2.1&#xff1a;何为 B树 2.事务 2.1:特性 2.1.1&#xff1a;原子性 2.1.2&#xff1a;一致性 2.1.3&#xff1…

(附源码)计算机毕业设计Java坝上长尾鸡养殖管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

博易大师期货程序化交易软件,期货买卖点提示量化分析系统幅图指标公式,期货波段进场点信号

期货指标公式不是交易的圣杯&#xff0c;也不是期货亏损后的救命稻草。请理性运用指标公式&#xff0c;独立决策&#xff0c;盈亏自负。期货市场具有不确定性和不可预测性的&#xff0c;请正常对待和使用指标公式! 期货指标公式是通过数学逻辑角度计算而来&#xff0c;仅是期货…

【Kotlin 协程】协程底层实现 ④ ( 结构化并发 | viewModelScope 作用域示例 )

文章目录一、viewModelScope 作用域作用二、viewModelScope 作用域示例常见的 CoroutineScope 协程作用域 : GlobalScope : 该作用域是 进程级别的 , 与应用进程同级 , 即使 Activity 被销毁 , 协程任务也可以继续执行 ;MainScope : 该 作用域仅在 Activty 中 , 如果 Activity…

VuePress构建一个文档管理网站

序言 目前无论笔记还是项目文档&#xff0c;大部分我都会通过 Markdown来记录&#xff0c;并且大部分文档写完都只存在自己电脑上&#xff0c;每次查找起来都需要耗费一些时间 自己的写的一部分技术教程由于初次记录时了解知识不多&#xff0c;内容存在偏差或考虑不全面&…

数仓搭建-ODS层

数仓搭建-ODS层 1&#xff09;保持数据原貌不做任何修改&#xff0c;起到备份数据的作用。 2&#xff09;数据采用LZO压缩&#xff0c;减少磁盘存储空间。100G数据可以压缩到10G以内。 3&#xff09;创建分区表&#xff0c;防止后续的全表扫描&#xff0c;在企业开发中大量使用…

ILRuntime使用指南

前言 最近闲着没事做&#xff0c;于是用ILRuntime做了一个小游戏中间遇到一些坑&#xff0c;对于ILRuntime的认识更清楚了。其它技巧自动转换DLL 设置引用文件夹 我们在热更项目里面写代码的时候需要用到Unity的DLL&#xff0c;可是这些DLL引用起来查找就很麻烦。这时候可以…