CSS2023年面试题汇总~~~~持续更新中!!!!

news/2025/2/14 6:22:30/

文章目录

  • 1.元素水平垂直居中的方法有哪些?
  • 2.flex布局
  • 3.position定位
  • 4.display:none与visibility:hidden的区别

1.元素水平垂直居中的方法有哪些?

  1. 利用定位+margin:auto
  2. 利用定位+margin:负值
  3. 利用定位+transform
  4. table布局
  5. flex布局
  6. grid布局

其中2,4两种方案需要知道居中元素宽高的才能实现
具体的实现方式由于篇幅限制,请移步至☞我的另一篇文章,点击跳转☞。

2.flex布局

Flex布局有两个重要的概念:容器项目。容器是指应用了Flex布局的父元素,项目是指容器内被布局的子元素

Flex布局的实现,主要通过在容器上应用display:flex 或者 display:inline-flex属性,以及通过在容器上设置justify-contentalign-items等属性来控制项目的排列。

容器属性有:

  1. flex-direction:决定主轴的方向(即项目的排列方向)
  2. flex-wrap:弹性元素永远沿主轴排列,那么如果主轴排不下,通过flex-wrap决定容器内项目是否可换行
  3. flex-flow:是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
  4. justify-content:定义了项目在主轴上的对齐方式
  5. align-items:定义项目在交叉轴上如何对齐
  6. align-content:定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用

容器成员属性如下:

  1. order:定义项目的排列顺序。数值越小,排列越靠前,默认为0
  2. flex-grow:定义项目的放大比例(容器宽度>元素总宽度时如何伸展)
  3. flex-shrink:定义了项目的缩小比例(容器宽度<元素总宽度时如何收缩)
  4. flex-basis:设置的是元素在主轴上的初始尺寸
  5. flex:flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto
  6. align-self:允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性

总的来说,Flex布局非常灵活,能够满足不同的排列需求,同时也比传统的布局方式更加方便和易用
在这里插入图片描述

3.position定位

由于篇幅限制,查看更详细解释请移步至☞我的另一篇文章,点击跳转☞
1.relative定位
相对于元素原本的位置进行定位,相对定位的特点是不会影响其他元素的位置

2.absolute 定位
相对于其最近的已定位父元素进行定位,如果没有已定位的父元素,则相对于body元素进行定位。
是会影响其他元素的位置,使元素的位置与文档流无关,因此不占据空间。

3.fixed 定位
元素相对于浏览器窗口进行定位,特点是在滚动页面时元素位置不变。使元素的位置与文档流无关,因此不占据空间,和其他元素重叠。

3.sticky 定位
粘性定位:基于用户的滚动位置来定位。
粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换
元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位

4.display:none与visibility:hidden的区别

一、display:none
这个属性会让元素从文档流中完全消失,即该元素原来所占的空间也会被释放。这意味着,如果你使用 display:none 来隐藏一个元素,那么它将不再占用任何空间,其他元素会自动移动来填补它的位置。这种方式可以完全隐藏元素,但是会影响页面布局

二、visibility:hidden
这个属性会让元素隐藏,但元素的占位空间不会被释放,即元素原来所占的空间仍然被保留。这意味着,如果你使用 visibility:hidden 来隐藏一个元素,那么它将不再显示,但是其他元素不会自动移动来填补它的位置,因为该元素的占位空间还存在。这种方式不会影响页面布局,但是可能会导致页面出现空白区域

总结
因此,如果你需要完全隐藏元素并影响页面布局,可以使用 display:none。如果你只需要隐藏元素但不影响页面布局,可以使用 visibility:hidden。


http://www.ppmy.cn/news/41331.html

相关文章

e2fsprogs logsave Ubuntu 安装失败 unable to make backup link of ‘./usr/bin/chattr‘

最近给服务器从 Ubuntu 18.04 LTS 升级到 20.04 LTS&#xff0c;过程中崩溃&#xff0c;重新尝试执行&#xff0c;提示依赖错误。这时候 apt install 所有的东西都会报错&#xff0c;提示依赖不满足。&#xff08;这里的报错忘了复制了&#xff09;执行 apt upgrade 也是一样。…

若依项目springcloud启动

若依项目springcloud启动 参考&#xff1a;http://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html 1、概述 1.1、学习前提 熟练使用springboot相关技术了解springcloud相关技术电脑配置可以支持 1.2、需要的配置 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推荐5.7版…

动力节点-SpringBoot3第九章了解AOT和GraalVM

9 了解AOT和GraalVM 9.1 提供性能的技术 什么是AOT&#xff1a; Ahead-of-Time Compilation &#xff1a;预编译&#xff08;提前编译&#xff09;它在 JEP-295 中描述&#xff0c;并在 Java 9 中作为实验性功能添加。 AOT是提升Java程序性能的一种方法&#xff0c;特别是提供…

LeetCode414_414. 第三大的数

LeetCode414_414. 第三大的数 一、描述 给你一个非空数组&#xff0c;返回此数组中 第三大的数 。如果不存在&#xff0c;则返回数组中最大的数。 示例 1&#xff1a; 输入&#xff1a;[3, 2, 1] 输出&#xff1a;1 解释&#xff1a;第三大的数是 1 。示例 2&#xff1a; …

本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录

文章目录前言1. 安装宝塔2. 安装cpolar内网穿透3. 远程访问宝塔4. 固定http地址5. 配置二级子域名6. 测试访问二级子域名转发自CSDN远程穿透的文章&#xff1a;Linux安装宝塔&#xff0c;并实现公网远程登录宝塔面板【内网穿透】 前言 宝塔面板作为建站运维工具&#xff0c;它…

【c语言】一维数组***特性、存储原理

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…

Mac 上如何安装Mysql

1、首先&#xff0c;登陆Mysql的 官网&#xff1a; https://www.mysql.com/downloads/ 2、进入官网后&#xff0c;页面拉到最下面&#xff0c;找到 Mysql Community&#xff08;GPL&#xff09; Downloads&#xff0c;点击进入下载 3、然后选择&#xff1a;Mysql Community S…

“微天气” - 一个基于微信小程序的智能天气预报体验

“微天气” - 一个基于微信小程序的智能天气预报体验 一、引言 微信小程序是一种不用下载就能使用的应用&#xff0c;也是一项创新&#xff0c;经过将近两年的发展&#xff0c;已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能…