面经 | css

CSS

  • CSS
    • position
    • display
    • flex: 1
    • 元素居中
      • flex+align-item+justify-content
      • absolute+margin:auto
    • align-item vs vertical-align

CSS

position

  • static: 默认。就是自然顺序,从上到下,从左到右,爱着你排列;
  • absolute:绝对。原点是:最近的非static的父(上级)元素。
    • dom是一棵树。当前节点的父节点如果是absolute或relative,那么原点就是父节点,如果不是,那么就找父亲的父亲,而不是找父亲的兄弟,或自己的兄弟。
  • fixed: 固定。相对于浏览器。
  • relative:相对。相对于正常文档流中的自己。
  • inherit:继承父元素

display

  • flex 弹性。可以用一些flex盒子的相关属性;align-item justify-content
  • table-cell 单元格布局。 把子元素当成td,子元素就被当成了行内元素,好处,比如可以用vertical-align 直接垂直对齐。

flex: 1

flex:1是felx:1 1 0的简写,是flex-grow:1;flex-shirnk:1;flex-basis:0的简写;

  • 三个属性取值范围:0 1 auto;
  • flex-grow:1 表示,有剩余空间的时候,元素会尽可能拉伸填充; 相反取0,就是有剩余空间的时候也不拉伸;
  • flex-shrink:1 表示,有没有剩余空间的时候,元素会尽可能地缩小;相反取0,就是没有剩余空间的时候也不允许压缩。
  • flex-basis:0 表示,元素在主轴上的初始宽度为0,往往通过设置为0,保证所有元素分得的宽度是一样的,相反,为1,表示初始状态会保持原来的大小。
  • 可能flex-basis不好理解。其实就是flex元素的大小可以由上面三个值控制,你可以给一个初始大小:flex-basis,然后浏览器根据flex-basis来进行grow和shirnk;没特意指定basis的话,basis默认就是元素本身的大小。其实感觉basic为0和1的效果都是一样的,可能a元素本身是10px;b元素是20px;都设置成basic:0不是说两个元素宽度都是0px了,反而是说都一样长
    可以在下面网址试一下:
    https://codepen.io/kkkaloha/pen/yLdrNxq

元素居中

常见:

常见元素居中实现方法
掌握熟悉上面的一两种写下就行了

flex+align-item+justify-content

  display:flex;justify-content:center; // 水平align-items:center; // 垂直

absolute+margin:auto

父元素是非static元素

  position:absolute;right:0px;left:0px;top:0px;bottom:0px;margin:auto;
  • 详情解释
    • 首先absolute是为了让文档脱离文档流,然后用top等属性来控制;如果元素只指定了absolute,那么实际浏览器是不知道元素在哪儿了,所以必须指定top,left,right,bottom。而且你发现,如果你指定了元素的高度和宽度,top:0,bottom:0,那么会往top靠近。同理,往left靠。
    • 拿水平举例子,为什么left:0,right:0不能实现水平居中呢?因为left:0,right:0是对元素进行拉伸实现左右边距。如下图,可以看到前后,是拉伸了蓝色元素。
      在这里插入图片描述
      在这里插入图片描述
    • 那我再次基础上固定宽度呢?width:100px;left:0;right:0; 也不行。不过,由于指定了left和right,所以浏览器至少知道了元素在水平方向上的位置;所以如果这个时候加上margin:auto是可以实现水平居中的。
    • margin:auto就是告诉浏览器去计算元素的左右剩余空间然后平均分布一下。虽然指定宽度后,元素还是靠着左边,但实际浏览器看到的是,元素在left:0;right:0的地方,然后到这个地方去计算元素的左右边距情况。也就是left:0;right:0这一块区域都是元素的,但元素可能由于width限制了,没有撑满,然后margin会去计算这个区域类,元素的边距情况,然后均分;在这里插入图片描述
    • 所以,同理,告诉浏览器,在top:0和bottom:0这个区域内去均分剩余空间。
    • 切记,你不指定top这些方位,虽然元素看起来停留在左上角,好像是有坐标什么,实际是没有的。指定了,margin才能生效。
    • margin:auto就是均匀分配上下左右四个方向;margin:0 auto只均分左右方向。

align-item vs vertical-align

  • 效果都是垂直居中;只不过作用的元素和使用的环境不同。
  • align-item是flex容器的属性,适用于flex容器中的所有元素
  • vertical-align作用于行内(inline)元素和表格单元格:span a img input label 等等;div是块状元素,不过可通过inline设置成行内元素;
  • 与之对应的就是 justify-content vs text-align;应该大差不差

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

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

相关文章

如何备份SqlServer数据库

第一步:登录你要备份的服务器数据库ssms 第二步:选择你要备份的数据库 此处已PZ-SJCS 数据库为例 右键该数据库-->任务-->备份 第三步:选择你备份的类型备份组件等,目标磁盘 ,点击添加选择将你备份的文件备份那…

数据结构~二叉搜索树

文章目录 一、二叉树搜索的概念二、二叉树搜索的结构二叉树搜索的性能分析二叉树搜索的插入二叉树搜索的查找二叉树搜索的删除 三、二叉搜索树key和key/value使用场景四、二叉树搜索的练习将二叉搜索树就地转化为已排序的双向循环链表从前序与中序遍历序列构造二叉树二叉树的前…

茶思屋直播|TinyEngine+AI:聚焦主航道,在实践中探索低代码技术黑土地

低代码引擎使能开发者定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低代码平台。适用于多场景的低代码平台开发&#xff…

GIS开发常用的开源地图数据框架有哪些?

学完Web前端开发,还需要掌握哪些内容?本篇文章再给大家主要讲讲针对WebGIS开发的地图和可视化数据库。 Echarts ECharts是一个使用 JavaScript 实现的开源可视化库。它可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(…

LTE SSS产生过程中z序列的介绍和MATLAB以及C语言实现

参考3GPP 36.211 6.11章节 接上期介绍完LTE SSS产生过程中加扰序列c的产生和代码实现,本期介绍一下LTE SSS产生过程中加扰序列z的原理和MATLAB以及C语言的实现。 SSS产生过程中用到的加扰Z1序列有两个,一个是 另一个是 两个序列是由一个m序列z移位而来…

“一屏显江山”,激光显示重构「屏中世界」

【潮汐商业评论/原创】 2024年国庆期间,曾感动过无数国人的舞蹈诗剧《只此青绿》改编的同名电影即将上映,而这一次观众们不必走进电影院,在家里打开官方合作的海信激光电视也能享受到同等的视听效果,这是激光电视在观影场景领域的…

【C++ 基础数学 】2121. 2615相同元素的间隔之和|1760

本文涉及的基础知识点 基础数学 LeetCode2121. 相同元素的间隔之和 难度分:1760 令2165,和此题几乎相等。 给你一个下标从 0 开始、由 n 个整数组成的数组 arr 。 arr 中两个元素的 间隔 定义为它们下标之间的 绝对差 。更正式地,arr[i] 和…

Linux 进程2

环境变量 再Linux操作系统中一切皆文件,这个环境变量自然也是一个文件,它的作用是辅助我们使用操作系统还可以辨识我们是什么用户(一般用户,root用户)。 env是读取完整环境变量的指令,里面记录了许多我登录操作系统所用的用户的信…

apache paimon简介(官翻)

介绍 如下架构所示: 读/写操作: Paimon 支持多样化的数据读写方式,并支持 OLAP 查询。 读取: 支持从历史快照(批处理模式)中消费数据,从最新偏移量(流处理模式)中读取数据,或以混合方式读取增量快照。写入: 支持从数据库变更日志(CDC)进行流式同步,从离线数据中…

构建高效企业客户管理系统:SpringBoot应用

1 绪论 1.1研究背景 随着网络不断的普及发展,企业客户管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、行业类型管理、项目信息管理、…

LabVIEW界面输入值设为默认值

在LabVIEW中,将前面板上所有控件的当前输入值设为默认值,可以通过以下步骤实现: 使用控件属性节点:你可以创建一个属性节点来获取所有控件的引用。 右键点击控件,选择“创建” > “属性节点”。 设置属性节点为“D…

HDMI20协议解析_Audio_Clock_Regeneration

HDMI20协议解析_Audio_Clock_Regeneration 1.版本说明 日期作者版本说明20240918风释雪初始版本 2.概述 当通过HDMI传输音频信号时,Audio Clock Regeneration(ACR)是必须要传输的数据包之一; HDMI传输过程中,音频采样…

CentOS7搭建Hadoop3集群教程

一、集群环境说明 1、用VMware安装3台Centos7虚拟机 2、虚拟机配置:2C,2G内存,50G存储 3、集群架构设计 从表格中,可以看出,Hadoop集群,主要有2个模块服务,一个是HDFS服务,一个是YAR…

8.进销存系统(基于springboot的进销存系统)

目录 1.系统的受众说明 2.开发技术与环境配置 2.1 SpringBoot框架 2.2 Java语言简介 2.3 MySQL环境配置 2.4 idea介绍 2.5 mysql数据库介绍 2.6 B/S架构 3.系统分析与设计 3.1 可行性分析 3.1.1 技术可行性 3.1.2 操作可行性 3.1.3经济可行性 3.4.1 数据库…

第159天:安全开发-Python-协议库爆破FTPSSHRedisSMTPMYSQL等

目录 案例一: Python-文件传输爆破-ftplib 库操作 ftp 协议 ​案例二: Python-数据库爆破-redis 库操作redis 协议 案例三:Python-邮件爆破-smtplib 库操作 smtp 协议 案例四:Python-登录爆破-paramiko库操作ssh协议 案例五&#xff1a…

Web 服务器介绍 | 通过 Tomcat 说明其作用

1. 什么是 Web 服务器? Web服务器是一种用于存储、处理和提供网页或Web应用程序的服务器。它通过HTTP(超文本传输协议)与客户端(通常是浏览器)进行通信,接收客户端的请求(如网页请求&#xff0…

【RPA私教课:UIPath】RPA 赋能科技企业,登录时验证码自动截取

在某科技型企业里,专门设置了一个验证码接收系统。每当用户进行登录操作时,都必须从这个系统中抓取最新的登录验证码,以确保登录的安全性。 具体需求如下: 客户会预先在表格中妥善保存众多的账户和密码。当 RPA 机器人在业务系统…

Vue使用axios实现Ajax请求

1、什么是 axios 在实际开发过程中,浏览器通常需要和服务器端进行数据交互。而 Vue.js 并未提供与服务器端通信的接口。从 Vue.js 2.0 版本之后,官方推荐使用 axios 来实现 Ajax 请求。axios 是一个基于 promise 的 HTTP 客户端。 关于 promise 的详细介…

从零开始讲DDR(3)——DDRC与DDRPYH

一、DDR的使用 在之前的文章中我们介绍了DDR的基本概念,但是DDR内存的操作不仅仅是简单的数据读取和写入,它包括许多时序要求和信号调度。为了让DDR内存有效运作,系统需要在逻辑层和物理层之间进行大量的协作。我们拿出一张DDR的操作简化状态…

rfid超高频手持移动终端的性能特点

超高频手持移动终端的工作频率范围通常在860 MHz至960 MHz之间,具体频段根据不同的地区和国家有所不同,下面我们就一起来了解一下,超高频手持移动终端的性能特点。 超高频手持移动终端的性能特点 高效率与高速度:超高频手持移动…