前端面试题-(BFC,前端尺寸单位,网站页面常见的优化手段)

前端面试题-BFC,前端尺寸单位,网站页面常见的优化手段

    • BFC
    • 前端尺寸单位
    • 网站页面常见的优化手段

BFC

BFC(block formartting context)块格式化上下文。是通过独立渲染的区域,它拥有自己的渲染规则,可以决定其子元素如何定位以及与其他颜色的相互关系和作用。BFC的布局规则是内部的box会在垂直方向上,一个接一个地放置,BOX垂直的方向的距离由margin决定,属于同一个BFC的两个相邻的BOX的margin 会发生重叠。BFC具有一些特性,可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外边的元素。 BFC的区域不会与float box 重叠,而是紧贴浮动元素。在布局中,BFC的应用场景包裹清楚盒子垂直方向上外边距合并和解决子元素设置成浮动元素时产生的父元素高度塌陷的问题。
BFC的创建:

display:inline-block;
//或者
position :absolute;

BFC的应用:分别属于不同的BFC时,可以防止margin 重叠。清除内部浮动,自适应多栏布局。

扩展1:margin 塌陷
在标准文档中,上下会出现margin塌陷的问题,左右不会出现这种情况。所谓的塌陷即是较大的margin 会覆盖较小的margin 上下方向的两个盒子中间只有一个较大的margin值(本来应该是2+1 变成2 )。
margin塌陷分为兄弟之间和父子之间的塌陷
在这里插入图片描述
上图为兄弟之间的塌陷 30px 和40px 只保留了较大的值,解决这种情况较好的方式是盒子只给上下一方设置margin

父子的margin塌陷
在这里插入图片描述
父盒子距离顶部20px 子盒子距离父盒子的顶部100px 这是我们写下这种样式的初衷。但是发生的结果确是图上这种情况。发生了样式塌陷。解决方式有
1.给父盒子添加一个overflow:hidden;
2.给父盒子元素添加一个position:fixed;
3.给父盒子添加一个display:table;
4.把子元素的margin 改成父元素的padding

扩展2:清除浮动
1.浮动元素后新增标签,并设置clear:both
2.浮动元素的父标签设置属性:overflow:hidden
3.设置为了选择器:after 和1本质上是一种

扩展3: display 属性

属性描述
inline默认值,显示为行内元素
block块级元素
inline-block既有行内元素的特点,又有块级元素的特点
none不显示
table以表格形式显示
list-item以项目列表形式显示
flex用于定义一个弹性布局容器,将子元素设置为flex项目,可以很方便的视线各种布局效果
inline-flex与flex类似,但子元素以行内裤元素的方式呈现
grid用于定义一个网格布局容器,将子元素设置文grid项目,可以实习二维布局
inline-grid与grid类似,但子元素以行内块元素的方式呈现

前端尺寸单位

单位描述
em相当于父级标签的字体大小来定义的
rem相当于HTML标签的字体大小来定义的
vh和vw相对于视口的高度和宽度
px像素值单位
%相对于父盒子

网站页面常见的优化手段

1.优化图片资源的格式(优先级webp>jpeg>png>bmp)
2.使用压缩文件
3.使用浏览器缓存
4.尽量减少请求次数
5.使用懒加载,避免一次请求过多

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】-对于信号章节补充的知识点,以及多线程知识的汇总

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

pytest+allure 生成中文报告

背景 已安装pytestallure,生成的报告是英文 allure生成中文报告 参考:allure report 报告中文化及其它优化 方法1:直接在报告中切换中文 方法2:依赖系统中文语言 创建一个setting.js 文件在index.html 同级目录 // 尝试从 l…

Python - 【Socket】消息粘包处理demo(一)

一. 前言 在网络编程中,粘包是指TCP协议在传输过程中,多条数据被合并成一条数据发送或者一条数据被拆分成多个数据发送的现象。 二. 粘包问题的常规处理方法: 使用固定长度的包头 可以在发送数据前先发送一个固定长度的包头,包…

赠书活动~

关注公众号获得,发送抽奖

hcip---ppp协议

一:网络类型----根据二层数据链路层使用协议的不同,进行的划分 MA--多点接入网络 BMA--广播型多点接入网络 NBMA--非广播型多点接入网络 P2P--点到点网络:当网络中只能两台设备存在,那么这样的网络不需要MAC也能进行通信 二层协议…

用Axure RP 9制作滑块

制作流程 1.打开界面 放置一个水平线 修改长为400 线段为5 2.放入圆 如图 3.修改圆的长和宽 如图 4.将圆变成动态面板 5.设置交互事件 如图 6.增加交互事件 7.增加 8.修改成跟随水平

系统架构演变

1.1系统架构的演变 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思…

查看并解析当前jdk的垃圾收集器

概述:复习的时候,学看一下。 命令: -XX:PrintCommandLineFlags 打开idea,配置jvm 把上面命令输入jvm options中即可。 举例代码 这个代码的解析,我上篇文章有写,这个跟本文没有任何关系: …

Elasticsearch 常用信息

简述 本文针对 Elasticsearch(简称ES)集群6.x版本出现故障时,可通过提供的命令进行排查。 1、集群健康状态 集群健康状态状态说明red不是所有的主要分片都可用。表示该集群中存在不可用的主分片。可以理解为某个或者某几个索引存在主分片丢失…

C#,入门教程(31)——预处理指令的基础知识与使用方法

上一篇: C#,入门教程(30)——扎好程序的笼子,错误处理 try catchhttps://blog.csdn.net/beijinghorn/article/details/124182386 Visual Studio、C#编译器以及C#语法所支持的预处理指令,绝对是天才设计。 编译程序的时候会发现&am…

AI搜索引擎Perplexity来了,谷歌等老牌搜索引擎或许会有新的威胁?

Perplexity AI 是一家 AI 搜索初创公司,它通过结合内容索引技术和大型语言模型的推理能力,提供更便捷和高效的搜索体验。另外,最近很火的小兔子Rabbit R1硬件AI设备中的搜索功能正是这家公司的杰作。在短短一年半的时间里,一个企业…

Qt6入门教程 10:菜单栏、工具栏和状态栏

目录 一.菜单栏 1.Qt Designer 1.1添加菜单和菜单项 1.2添加二级菜单 1.3给菜单和菜单项添加图标 1.4给菜单项添加功能 2.纯手写 二.工具栏 1.Qt Designer 1.1添加工具栏按钮 1.2工具栏的几个重要属性 2.纯手写 三.状态栏 1.Qt Designer 2.纯手写 用Qt Creator新…

Elasticsearch分布式一致性原理剖析(二)-Meta篇

Elasticsearch分布式一致性原理剖析(二)-Meta篇 - 知乎 本文首发于云栖社区(Elasticsearch分布式一致性原理剖析(二)-Meta篇-博客-云栖社区-阿里云 ),由原作者转载。 前言 “Elasticsearch分布式一致性原理剖析”系列将会对Elasticsearch的分布式一致性原理进行…

DAY07_SpringBoot—用法整合MyBatis

目录 1 SpringBoot 用法1.1 环境切换1.1.1 业务需求1.1.2 多环境编辑 1.2 热部署1.2.1 需求说明1.2.2 引入jar包1.2.3 配置IDEA环境 2 SpringBoot整合Mybatis2.1 导入数据库2.2 创建SpringBoot项目2.2.1 创建项目2.2.2 生成POM.xml文件如下2.2.3 Mavenjar包作用范围2.2.4 数据源…

【JavaWeb】日程管理系统 项目搭建 第二期

文章目录 一、数据库准备二、导入依赖 与 JDBC工具类三、pojo包处理四、daodao包工具类 五、service六、controllerservlet 基类 反射 七、加密工具类 MD5八、页面文件九、业务代码9.1 注册业务处理9.2 登录业务处理 总结 一、数据库准备 创建数据库: SET NAMES …

python-自动篇-办公-用Excel画画

文章目录 代码所遇问题ModuleNotFoundError: No module named xlsxwriterFileNotFoundError: [Errno 2] No such file or directory: 111.jpg 效果附件图片excel 代码 # coding: utf-8from PIL import Image from xlsxwriter.workbook import Workbookclass ExcelPicture(obje…

风二西CTF流量题大集合-刷题笔记|NSSCTF流量题(2)

21.[SUCTF 2018 招新赛]follow me SUCTF{password_is_not_weak} 22.[MoeCTF 2022]usb moectf{Learned_a6ou7_USB_trffic} 23.[黑盾杯 2020]Blue flag{Gre4t_j0B_ON_This_Blue_sh4rk} 24.[蓝帽杯 2022 初赛]domainhacker2 提交发现,07ab403ab740c1540c378b0f5aaa4…

vue(vue2)使用svg格式图标

先安装插件 配置svg文件夹,新建icons文件,svg文件夹放svg后缀文件 index.js文件中的配置 import Vue from "vue" import svgIcon from "/common/iconSvg/index.vue"Vue.component(svg-icon,svgIcon) //挂载全局组件//下面…

深入浅出AI落地应用分析:AI音乐生成之「Suno.ai」

接下来会每周集中体验一些通用或者垂直的AI落地应用,主要以一些全球或者国外国内排行较前的产品为研究对象,「AI 产品榜: aicpb.com」以专题的方式在博客进行分享。 本节主要介绍和体验AI音乐生成应用产品Suno AI,Suno来自目前最…

【 CSS 】定位

不要因为小小的失败而放弃大大的梦想,每一次坚持都是通向成功的一步。- 马克吐温 1. 定位 1.1 为何使用定位 我们先来看一个效果,同时思考一下用标准流或浮动能否实现类似的效果? 场景1: 某个元素可以自由的在一个盒子内移动位置&#xff0c…