前端学习部分题目(补充中)
目录
1.display:none与visibility:hidden的区别
display:none是彻底消失,不在文档流中占位,浏览器也不会解析该元素;visibility:hidden是视觉上消失了,可以理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素;
visibility:hidden比display:none性能上要好,display:none切换显示时,页面会产生回流(当页面中的一部分元素需要改变规模尺寸、布局、显示隐藏等,页面重新构建,此时就是回流。所有页面第一次加 载时需要产生一次回流),而visibility切换是否显示时则不会引起回流。
2.px,em,rem三者的关系
1.px像素,相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
2.em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。1em=16px
3.rem是CSS3新增的一个相对单位(root em,根em),相对的只是HTML根元素。
3.如何实现响应式布局
1.通过媒体查询,可以通过@media来进行媒体查询,当网页显示再不同的网页时加载执行不同的css代码(当页面结构发生改变时)
2.通过浮动布局,定位布局,flex布局(只有盒子的宽高发生改变时)
4.简述浮动布局及其工作原理
1.浮动布局用来解决块元素在x轴上的布局排列问题
2.浮动布局通常出现在div>div这种父子级结构中,为子元素添加浮动特性
3.一个元素如果成为浮动元素,那么这个元素就会脱离文档流:宽度如果没有指定则有内容决定;不在占据屏幕空间;同一级别的浮动元素会在一行排列,如果一行无法容纳则换行显示;浮动元素会失去对父元素的支撑;
4.如果希望块元素在页面中水平排列,可以使块元素脱离标准流(文档流/普通流),使用float来使元素浮动,从而脱离标准流(文档流/普通流)
可选值:
none,默认值,元素默认在标准流(文档流/普通流)中排列
left,元素会立即脱离标准流(文档流/普通流),向页面的左侧浮动
right,元素会立即脱离 标准流(文档流/普通流),向页面的右侧浮动
5.简述http协议
http协议是超文本传输协议,常用于BS架构中,为数据在网络传输中规定 协议。
HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它 是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说, 请求通常是由像浏览器这样的接受方发起的。
HTTP报文的分类有两种:请求报文和响应报文。顾名思义,请求报文就是 客户端向服务端发送请求的信号,响应报文就是服务端响应处理后回传给客 户端的信号。
请求报文:浏览器会将前端请求封装成请求报文发送给后端,HTTP 请求报文由四部分组成,分别是请求行、请求头、空行和请求体,其中空行也是组成部分之一,作用是进行分隔,必不可少
响应报文:服务器接收到前端发来的请求,会将响应内容封装成为一个响应报文,浏览器会对响应报文进行解析,进而显示出来。HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文
6.伸缩盒布局的核心概念,常用规则,使用技巧
1、核心概念:
主轴、交叉轴、伸缩盒容器、伸缩盒元素
2、常用规则:
2.1、伸缩盒容器相关规则:display、flex-wrap(定义沿主轴元素是否换行)、flex-direction(定义主轴方向)、align-items(交叉轴排列方式)、 justify-content(主轴的对齐方式)、align-content(多行项目的对齐方式)
2.2、伸缩盒元素相关规则: flex-basic(默认auto,用于设置项目宽度)、flex-grow(默认0,用于决定项目在有剩余空间的情况下是否放大,默认不放大;)、flex-shrink(默认1,用于决定项目在空间不足时是否缩小,默认项目都是1)、flex(默认0 1 auto,flex属性是flex-grow,flex-shrink与flex-basis三个属性的简写,用于定义项目放大,缩小与宽度。)
3、使用技巧:
伸缩盒容器常用于列级布局,与浮动布局类似可以将多个块元素在一行中显示,伸缩盒更简单一些,只需要为容器盒子添加display:flex属性,这个容器盒子就变成了伸缩盒容器,其子元素伸缩盒元素就会沿着主轴来排列, 默认主轴是x轴,可以通过flex-direction来改变主轴。
7.一个盒子在另一个盒子水平居中
1.margin:0 auto;
2.定位布局居中方式
3.flex布局 justify-content:center
8.文本在盒子中垂直居中
1.设置行高与line-height相同
2.利用line-height和vertical-align: middle;
3.flex布局,align-items:center
9.块级元素与行内元素的区别
1.块级独占一行,行内共享一行
2.块级可以直接设置宽高,而行内不能直接设置宽高(通过css的display属性,设置为inline-block/block,这样就可以给行内元素设置宽高 (img,input特殊行内,可以直接设置宽高,(置换元素)))
3.块级可以包含行内和块级,而行内只能包含行内
10.简述get和post请求及其区别
get
传输数据量小,一般不超过1024个字符
GET方法把参数以及参数值都暴露在URL中,不利于数据的保密和安全。
使用GET方法请求时,请求参数和对应的值是跟在URL后面,通过问号(“?”)和and连接符(“&”)以及“=”号连接。
没有请求体
post
传输数据量大
参数携带在请求体中,所以需要在代码中对参数进行封装,封装完毕传入接口
保密性高,安全性高
区别
1.传输数据量
2.参数携带
3.数据保密性
11.HTML的核心元素有哪些
id,class,title,style
12.外边距合并问题
1.父子级:
①给父元素添加边框 ②给父元素清除浮动 ③给父子元素一方设置display:inline-block
2.兄弟级:
将margin设置到一个元素上
13.盒模型
W3C盒子(默认盒子,标准盒子)border-sizing:content-box
width、height content内容区宽高
盒子的宽:width+padding-left+padding-right+border-left+border-right
盒子的高:height+padding-top+padding-bottom+border-top+border-bottom
所占屏幕区域的宽:盒子的宽+左右margin
所占屏幕区域的高:盒子的高+上下margin
IE盒子 box-sizing:border-box
width、height 盒子的宽高
盒子的宽:width
盒子的高:height
所占屏幕区域的宽:盒子的宽+左右margin
所占屏幕区域的高:盒子的高+上下margin
14.清除浮动
父子级:
1.在子级元素后添加一个空元素,为其添加clear:both 弊端:增加了无意义的元素结构
2.给父级元素设置一个overflow:hiddden 解决了第一种方法的弊端
3.::after 为需要清除浮动元素的伪对象中设置
(用伪类清除浮动时用::after,并且加上content:""可以加内容也可以不加,但是一定要加上display:block;同时还要写clear:both;)
.clearfix::after{
/*添加一个内容*/
content: "";
/*转换为一个块元素*/
display: block;
/*清除两侧的浮动*/
clear: both;
}
兄弟级:
给当前元素(被浮动影响的元素)设置css属性clear,值可为left、right,both。作用分别为清除左浮动元素带来的影响,清除右浮动元素带来的影响,清除左右两侧浮动元素带来的影响。
15.css三列布局
1.方法一:自身浮动的方法
实现方法:需要左栏向左浮动,右栏向右浮动,中间设左右margin来撑开距离
注意:
该方法在html布局时,要把中间栏放在左栏、右栏后面,左栏和右栏的顺序不定
2.方法二:margin负值法
实现方法:两边两栏宽度固定,中间栏宽度自适应,左栏、右栏、中间栏向左浮动,左栏的margin-left设为-100%,中间栏的width设为100%,右栏的margin-left设为-右栏宽度
注意:
该方法在html布局时,要把中间栏放在第一个
此方法是实现圣杯布局和双飞翼布局的基础。
3.方法三:绝对定位法
实现方法:左栏、右栏绝对定位,分别固定到页面左右两侧,中间栏不设宽度,用左右margin来撑开距离
上一篇: 渗透测试学习18:前端安全补充
下一篇: 前端学习第12天:表单补充-网页添加图标
推荐阅读
-
从零开始学习前端JAVASCRIPT — JavaScript中this指向的四种情况
-
轻松学习 JavaScript——第 3 部分:函数中的默认参数
-
轻松学习 JavaScript——第 4 部分:函数中的 arguments 对象
-
前端HTML中float学习笔记
-
前端学习-如何在title中添加图片
-
前端学习记录(四) JS语言小知识点总结(待补充)
-
vue3开发学习笔记(持续补充中...)
-
前端的学习之路:初级CSS---less中的变量
-
从零开始前端学习[45]:js中的所谓的事件类型,鼠标事件,表单事件,键盘事件以及系统事件
-
java学习心得 5 数组中涉及的常见算法---杨辉三角,二分法查找部分