1、H5+CSS面试题
1, HTML5中新增了哪些内容?
广义上的html5指的是最新一代前端开发技术的总称,包括html5,CSS3,新增的webAPI。
Html中新增了header,footer,main,nav等语义化标签,新增了video,audio媒体标签,新增了canvas画布。新增了一些标签属性,例如input的placeholder。
Css3中新增了:圆角,阴影,滤镜,vwvh单位,flex布局,媒体查询,过度和动画,伪类。H5
webAPI,新增了localStorage和sessionStorage,querySelector,webSocket,requestAnimationFrame,Worker(类似分线程),地理位置。
2, 什么是HTML语义化?HTML语义化的好处是什么?
html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;
即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;
搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
3, Css中Position定位都有哪些方式,分别是什么效果。
Static(默认), 静态定位,流式布局
Relative,相对定位,参与流式布局,可以使用left等在原有位置上进行位置调整。
Absolute,绝对定位,脱离文档流,相对于另一个元素进行定位。
Fixed,固定定位,脱离文档流,相对于浏览器窗口定位,不随页面滚动而改变位置。
Sticky,粘性定位,可实现动态fixed。
4, Absolute定位的元素相对于哪个元素进行定位
相对于离自己最近的、position为非static的祖先元素进行定位。
5, 前端页面中动画都有哪些实现方式,各自分别适用于哪些场景?
Transition:简单的动画,只需要在两个状态之间变化的动画。
keyframeAnimation:适合需要在多个状态连续进行的动画。
js动画:功能最强的动画,但是效率最低
6, 怎么隐藏页面中的某个元素?
Display:none; 隐藏且不占用位置。
Visibility:hidden; 隐藏但保留位置。
Opacity:0; 隐藏但保留位置。
7, 行元素和块元素的区别是什么?
行元素:会在水平方向排列,设置宽高无效,上下边距无效
块元素:各占据一行,垂直方向排列。可设置宽高,内外边距
行内块元素: 会在水平方向排列,可设置宽高,内外边距
同时,可通过display属性修改标签元素类型
8, 如何解决行内块间距问题
给父元素设置font-size:0
使用弹性布局或浮动布局
使用固定定位或者绝对定位
9,标准盒模型和IE怪异盒模型的区别
在标准模式下,块的总宽度= width + margin(左右) + padding(左右) + border(左右)
怪异模式下,块的总宽度= width + margin(左右)(即width已经包含了padding和border值)
10,Css3中transition和animation的区别
- transition只有开始和结束两个状态,并且需要通过事件触发
- animation可以通过定义关键帧指定多个动画状态,可以自动播放
11、单行文本溢出显示为省略号
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
12、页面中常用哪些单位, 有什么区别
px 以物理像素为基准
em以当前元素font-size为基准
- rem以html font-size为基准
- vw/vh以浏览器窗口宽高为基准 100vw=浏览器窗口宽度
rpx 适用于小程序或uniapp中可以实现自适应 750rpx=屏幕宽度
13、什么是响应式页面,是依赖什么技术实现的
能够根据不同的浏览器尺寸,显示不同的布局方式。依赖媒体查询实现
14、怎么在页面上显示一条斜线?一条折线?一线曲线?
方法一: 使用canvas绘图画出来 (比较麻烦)
方法二: 使用div边框线 + 视图转换(旋转/倾斜)或边框圆角实现(简单方便)
方法三: 使用背景的线性渐变或经向渐变实现(较耗性能)
15、在页面头部显示导航条,不随页面滚动,在页面左侧显示垂直菜单栏,不随页面滚动,你会怎么实现?如何避免导航条、菜单栏盖住页面上的内容?
使用position:fixed 固定定位实现, 头部设置top属性, 左侧的设置left属性
并使用z-index属性设置显示层级, 值越大越不容易被覆盖
16、怎样实现元素上下左右都居中?
(1,实现元素本身内容居中:text-align:center+行高。
(2,实现子元素在父元素中居中:绝对定位+上下左右设置0+margin:auto。
(3, 使用flex弹性布局
(4, 绝对定位+left,top:50%+transform:translate:-50%。
17、flex弹性布局很强大,可以实现几乎所有的布局效果,包括以往很难实现的弹性效果,但什么情况不能用flex弹性布局实现?
Flex布局是css3的新特性, 在一些低版本的浏览器上(如IE8)不支持flex布局
18, 怎样在不使用新元素的情况下清除浮动?
在浮动元素的父元素上添加一个class,为这个class添加后缀.after样式,其中写content:””;display:block;clear:both
19, Css文件中@import,@font-face,@keyframes,@media这4个关键字的作用是什么?
@import,导入另一个css文件,@font-face,导入一个字体文件,@keyframes声明一个关键帧动画,@media声明一个媒体查询条件
20, Less/Sass比css高级到哪了?
支持嵌套
支持变量定义
支持“模板函数
21,常见兼容性问题有哪些?
兼容问题大多出现老版本浏览器不支持新样式或渲染不统一的情况下
png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.也可以引用一段脚本处理.
浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。
对于老IE浏览器使用css hack解决兼容问题。
IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
浮动ie产生的双倍距离(IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。)
Retina屏幕手机浏览器的1px边框问题,通过前后缀伪元素或者缩放解决
22, 什么是元素盒模型,包含哪几部分?计算元素尺寸时从哪部分开始计算?
元素从结构上分为4层,内容,内间距,边框,外间距。
通过box-sizing设置计算方式,默认为content-box,及计算内容盒,可以设置为border-box,计算到边框盒。
23, ::before 和 :after中双冒号和单冒号有什么区别?解释一下这2个伪元素的作用。
单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。::before就是以一个子元素的存在,定义在元素主体内容之前的一个伪元素。并不存在于dom之中,只存在在页面之中。:before 和 :after 这两个伪元素,是在CSS2.1里新出现的。起初,伪元素的前缀使用的是单冒号语法,但随着Web的进化,在CSS3的规范里,伪元素的语法被修改成使用双冒号,成为::before ::after
24, 常用的浏览器有哪些?他们分别是什么内核?
chrome、safari属于webkit内核。
老IE(10和10以下) 属于Trident内核。
firefox属于Gecko内核。
新IE属于Edge内核。
360等特殊浏览器:多内核浏览器。
25, 什么叫优雅降级和渐进增强?
都是解决网站对于老旧版本浏览器的兼容问题。
优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效。
渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。
相关文章:
1、H5+CSS面试题
1, HTML5中新增了哪些内容?广义上的html5指的是最新一代前端开发技术的总称,包括html5,CSS3,新增的webAPI。Html中新增了header,footer,main,nav等语义化标签,新增了video,audio媒体标签,新增了canvas画布。…...
亚马逊云科技重磅发布《亚马逊云科技汽车行业解决方案》
当今,随着万物智联、云计算等领域的高速发展,创新智能网联汽车和车路协同技术正在成为车企加速发展的关键途径,推动着汽车产品从出行代步工具向着“超级智能移动终端”快速转变。挑战无处不在,如何抢先预判?随着近年来…...
Springboot扩展点之FactoryBean
前言FactoryBean是一个有意思,且非常重要的扩展点,之所以说是有意思,是因为它老是被拿来与另一个名字比较类似的BeanFactory来比较,特别是在面试当中,动不动就问你:你了解Beanfactory和FactoryBean的区别吗…...
新库上线 | CnOpenDataA股上市公司交易所监管措施数据
A股上市公司交易所监管措施数据 一、数据简介 证券市场监管是指证券管理机关运用法律的、经济的以及必要的行政手段,对证券的募集、发行、交易等行为以及证券投资中介机构的行为进行监督与管理。 我国《证券交易所管理办法》第十二条规定,证券交易所应当…...
同步辐射XAFS表征方法的应用场景分析
X射线吸收精细结构XAFS表征方法是一种用于研究物质结构和化学环境的分析技术。XAFS 使用 X 射线照射到物质表面,并观察由此产生的 X 光吸收谱。 XAFS 技术通常应用于研究高分子物质、生物分子、纳米结构和其他类型的物质。例如,XAFS 可以用来研究高分子…...
06 antdesign react Anchor 不同页面之间实现锚点
react Anchor 不同页面之间实现锚点一、定义二、使用步骤三、开发流程(一)、组件(二)、页面布局(三)、点击事件(四)、总结说明一、react单页面应用,当前页面的锚点二、react单页面应用,不同页面的锚点思路:锚点只能在当前页面使用,…...
mysql调优-内存缓冲池
因本地查询和服务器查询相比服务器慢了很多,同样的数据,同样的sql查询,考虑了是不是链接太多了,自行查询了下,我使用的c3p0的链接池,配置一个小时超时,正常情况下是20多个链接,而mys…...
【LeetCode】每日一题(5)
目录 题目:2341. 数组能形成多少数对 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:2341. 数组能形成多少数对 -…...
输入任意多个整数, 把这些数据保存到文件data.txt中.(按ctrl + z)
#pragma once #include <iostream> #include <fstream> using namespace std; /* 输入任意多个整数, 把这些数据保存到文件data.txt中. 如果在输入的过程中, 输入错误, 则提示用户重新输入. 指导用户输入结束(按ctrl z) [每行最多保存10个整数] */ int main() { …...
Mysql数据库的时间(3)一如何用函数插入时间
暂时用下面四个日期函数插入时间 如:insert into Stu(time) values (now()); Mysql的时间函数描述对应的Mysql的时间类型now()/sysdate()NOW()函数以YYYY-MM-DD HH:MM:SS返回当前的日期时间date/time/dateTime/timeStamp/yearcurDate()/current_date()返回当前的日期YYYY-M…...
关于eval函数(将JSON格式的字符串转换成JSON格式对象)
<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>关于eval函数</title> </head> <body> <!--JSON是一种行业内的数据交换格式标准。在JS当中以对象的形式存在…...
2023最强软件测试面试题,精选100 道,内附答案版,冲刺金3银4
精挑细选,整理了100道软件测试面试题,都是非常常见的面试题,篇幅较长,所以只放出了题目,答案在评论区! 测试技术面试题 1、什么是兼容性测试?兼容性测试侧重哪些方面? 2、我现在有…...
一文搞懂Docker容器里进程的 pid 是如何申请出来的?
如果大家有过在容器中执行 ps 命令的经验,都会知道在容器中的进程的 pid 一般是比较小的。例如下面我的这个例子。 # ps -ef PID USER TIME COMMAND1 root 0:00 ./demo-ie13 root 0:00 /bin/bash21 root 0:00 ps -ef 不知道大家是否和我一样…...
若依框架如何新增自定义主题风格
若依框架新增主题风格1.实现结果2.实现步骤2.1Settings目录下2.2 variables.scss2.3 sidebar.scss2.4 Logo.vue2.5 Siderbar目录下的index.vue1.实现结果 2.实现步骤 需要改动的文件目录: 2.1Settings目录下 <div class"setting-drawer-block-checbox-it…...
C语言格式化输入和输出; Format格式化
Format格式化 %1s或者%2s,%3s:取字符串的前1,2或者3位。%*c:屏蔽一个字符。%[A-Z]:取一个A到Z的值。 %[^a-z]:不取a到z的值。 %[^\n]:取非换行之前的值。printf("%5d", a):左边补 格式化:有正则在其中。 int main() {printf("%5d\n&quo…...
Revit教程:怎么关掉工具栏的实时提示?
一、Revit中如何关闭工具栏的实时帮助提示 如图1所示,Revit会对每一个命令有一个简单的图文说明,方便不熟悉软件的用户使用。对于已经熟悉软件的用户,会觉得鼠标在菜单上悬停时弹出的实时帮助页面很干扰使用,而且很占内存资源&…...
javascript 简介
JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。JavaScript 是脚本语言JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript…...
医学图象分割常用损失函数(附Pytorch和Keras代码)
对损失函数没有太大的了解,就是知道它很重要,搜集了一些常用的医学图象分割损失函数,学习一下! 医学图象分割常见损失函数前言1 Dice Loss2 BCE-Dice Loss3 Jaccard/Intersection over Union (IoU) Loss4 Focal Loss5 Tvesky Loss…...
【新2023】华为OD机试 - 病菌感染(Python)
华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 病菌感染 题目 在一个地图中(地图有N*N个区域组成) 有部分区域被感染病菌 感染区域每天都会把周围上下左右的四个区域感染 请根据给定的地图计算多少天以后全部区域都会被感染 如果初始地图上所有区域都…...
QGIS中进行批量坡向计算
QGIS中进行坡向计算1. 坡向计算中的Z因子(垂直单位与水平单位的比值)2. 坡向计算步骤坡度计算的姊妹篇–坡向计算来了 1. 坡向计算中的Z因子(垂直单位与水平单位的比值) z 因子是一个转换因子,当输入表面的垂直坐标&…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
