前端面试题-1

1 块级与行内区别:

  • 块级独占一行,行内共享一行
  • 块级可以直接设置宽高,而行内不行(通过CSS的display:block / inline-block属性可以给行内元素设置宽高)
  • 块级可以包含行内与块级,而行内只能包含行内

2 清除浮动:

1. 兄弟级:

(1)额外标签法:在浮动元素后添加一个空元素,为其添加clear:both

2. 父子级:
  • (1)额外标签法

    ​ 在子级元素(最后一个浮动元素)后添加一个空元素,为其添加clear:both

​ 弊端:增加了无意义的元素结构

  • (2)给父级元素添加overflow属性

    ​ 给父级元素设置一个overflow:hiddden 解决了第一种方法的弊端

  • (3)使用after伪元素清除浮动

    ​ 使用通过伪元素 ::after清除浮动

    .father::after{ 
    	/* 1.添加一个空白的content -> 在父元素后面添加一个空白的元素*/
    	content:'';
    	/* 2. 利用display切换显示模式 */
    	display: block;
    	/* 3.清除浮动 */
    	clear: both;
    } 
    
  • ::after 为需要清除浮动元素的伪对象中设置height:0,
    #layout:after{
    clear:both;
    content:”";
    visibility:hidden;
    height:0;}

3 水平垂直居中的方法:

.outter{
	width: 300px;
	height: 300px;
	border: 2px solid red;
}
.inner{
	width: 100px;
	height: 100px;
	background-color: blue;
}
<div class="outter">
    <div class="inner"></div>
</div>
  • (1)通过margin设置水平垂直居中

    ​ 垂直方向设置:(父元素高度-子元素高度)/2

/*给inner类设置:*/
.inner{
	margin: 100px auto;
}
  • (2)通过绝对定位和margin设置宽高

    ​ 给父元素设置相对定位、子元素绝对定位

    ​ 只需要设置绝对定位元素的left:50%;
    ​ 然后再设置绝对定位元素的 margin-left: -元素宽度的一半px;

.outter{
	position: relative;
}
.inner{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -50px;
	margin-left: -50px;
}
  • (3)通过flex布局

    想要使一个子元素垂直水平居中,只需要设置其父元素

justify-content: center; /* 水平居中 */
align-items: center;     /* 垂直居中 */
  • **(4)绝对定位 margin:auto **

给子元素设置绝对定位,top、bottom、left、right设置为0,margin设置为auto

.outter{
	position: relative;
}
.inner{
	position: absolute;
	top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}
  • (5)绝对定位 transform(不确定宽高时)

采用 transform: translate(-50%,-50%); 当前div的父级添加相对定位(position: relative;)

.outter{
	position: relative;
}
.inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

4 在css3中如何计算同一个规则的优先级

权重:

  • !import ,权值无限大

  • 内联样式,如: style="…",权值为1000。

  • ID选择器,如:#content,权值为0100。

  • 类,伪类、属性选择器,如.content,权值为0010。

  • 标签选择器、伪元素选择器,如div p,权值为0001。

  • 通配符、复合选择器(+、>、~等)、否定伪类(:not)没有影响,权值为0000。

  • 继承的样式没有权值

    计算规则:

  • 首先先计算选择器中有多少个id, id多的选择器优先级最高

  • id的个数一样, 那么再看类名的个数, 类名个数多的优先级最高

  • 类名的个数一样, 那么再看标签名称的个数, 标签名称个数多的优先级最高

  • id、 类名、 标签名称个数也一样, 那么此时谁写在后面听谁的

5 简述css3的盒子模型

7-CSS盒模型

6 简述伸缩盒布局中的核心概念、常用规则、使用技巧

1、核心概念:主轴、交叉轴、伸缩盒容器、伸缩盒元素

2、常用规则:

2.1、伸缩盒容器相关规则:display、flex-wrap、flex-direction、align-items、justify-content

2.2、伸缩盒元素相关规则: flex-basic、flex-grow、flex-shrink、flex

3、使用技巧:

	伸缩盒容器常用于列级布局,与浮动布局类似可以将多个块元素在一行	中显示,伸缩盒更简单一些,只需要为容器盒子添加display:flex属性,这个	容器盒子就变成了伸缩盒容器,其子元素伸缩盒元素就会沿着主轴来排列,默认主轴是x轴,可以通过flex-direction来改变主轴。

7 简述http协议

  • http协议是超文本传输协议,常用于BS架构中,为数据在网络传输中规定协议。
  • HTTP是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是在 Web 上进行数据交换的基础,是一种 client-server 协议,也就是说,请求通常是由像浏览器这样的接受方发起的。
  • HTTP报文的分类有两种:请求报文和响应报文。顾名思义,请求报文就是客户端向服务端发送请求的信号,响应报文就是服务端响应处理后回传给客户端的信号。

请求报文: 浏览器会将前端请求封装成请求报文发送给后端,请求报文中包含请求行、请求头、请求体

响应报文: 服务器接收到前端发来的请求,会将响应内容封装成为一个响应报文,浏览器会对响应报文进行解析,进而显示出来。响应报文中包含响应行、响应头、响应体

(具体查看对应笔记)

8 简述浮动布局以及其工作方式

  • 浮动布局用来解决块元素在x轴上排列的问题

  • 浮动布局通常出现在 div>div 这种父子结构中,为子元素添加浮动特性

  • 一个元素如果成为浮动元素,那么这个元素就会脱离文档流:宽度如果没有指定则由内容决定;不再占据屏幕空间;同一级别的浮动元素会在一行排列,如果一行无法容纳则换行显示;浮动元素会失去对父元素支撑;

  • 如果希望块元素在页面中水平排列,可以使块元素脱离标准流(文档流/普通流),使用float来使元素浮动,从而脱离标准流(文档流/普通流)

    可选值:

    none,默认值,元素默认在标准流(文档流/普通流)中排列

    left,元素会立即 脱离标准流(文档流/普通流),向页面的左侧浮动

    right,元素会立即脱离 标准流(文档流/普通流),向页面的右侧浮动

9 如何实现响应式布局

  • 通过媒体查询,可以通过@media来进行媒体查询,当网页显示在不同的网 页中加载执行不同的css代码(当页面结构发生改变时)
  • 通过浮动布局,定位布局,flex布局(只有盒子的宽高需要改变时)

10 说明px、 em 、 rem三者关系

  • px为长度单位,表示一个像素点
  • em为相对长度单位,表示当前元素上的字体大小
  • rem为相对长度单位,表示根(html)元素上声明的字体大小

11 display:none与visibility:hidden的区别

  • display : 隐藏对应的元素但不挤占该元素原来的空间。
  • visibility: 隐藏对应的元素并且挤占该元素原来的空间。

扩展: 使用visibility:hidden比display:none性能上要好,display:none切换显示时,页面产生回流(当页面中的一部分元素需要改变规模尺寸、布局、显示隐藏等,页面重新构建,此时就是回流。所有页面第一次加载时需要产生一次回流),而visibility切换是否显示时则不会引起回流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值