[前端面试]HTML AND CSS

HTML

html语义化标签的理解

是什么:
在布局页面的时候,根据内容的结构与含义,选择合适的带语义的html标签
如header,footer,nav,article,main,aside,h标签等

好处

  1. 增强代码可读性,有利于开发者开发与维护
  2. 有利于seo搜索引擎优化
  3. 有利于在网络卡顿时,正常显示页面结构(虽然没有样式),提高用户体验

html5的新特性

添加语义化标签,main,nav,article,header,footer

添加媒体标签,audio,video,source标签

新增一些api,webstorage,拖放api,canvas标签,geolocation api

websockets

行内元素块级元素的区别

行内元素:

一行显示,设置宽高不生效,span,a,img,b,i,

块级元素:

换行显示,设置宽高生效,div,p,h,ul,li

转换:

display:block

display:inlineblock

CSS

css选择器有哪些,权重

id选择器
类选择器|属性选择器|伪类选择器:hover
标签选择器|伪元素选择器::before
通配符选择器

css优先级

  1. !import
  2. 行内样式 > 嵌入式与外联
  3. 选择器优先级
  4. 继承样式

CSS3新增特性

盒子模型

flex和grid布局

css变量

伪类与伪元素

动画

变形与过渡

盒子模型的理解

what
在布局网页的时候,可以把一个个元素看作一个盒子
具有margin,border,padding,content属性
分为两种盒子:
1)标准盒子模型(默认情况)
2)怪异盒子模型
设置宽高,默认设置的是内容的宽高
而怪异盒子情况下,设置的是除margin之外所有属性的总和
how

box-sizing:border-box;//转化为怪异盒子模型

position定位方式

1)绝对定位

定位标准:最近已定位的祖先元素,没有相对窗口定位

在文档流中不占据位置

2)相对定位:

定位标准:相对自己原位置

在文档流中占据空间

3)固定定位:

定位标准:页面窗口(视口定位)

页面滚动不改变位置

4)默认定位:static

元素按照正常文档流排列,不会受到top,bottom,left,right的影响

dispay:none与visiblity:hiden的区别

改变元素的显示与隐藏状态

1)将元素从文档树中移除

浏览器不会在为这个元素进行绘制与事件处理,适合频繁添加与移除元素的场景

会触发回流,对页面布局有显著影响

2)改变元素的显示状态,未移除元素,仍占据原来的空间

浏览器仍要保留这个元素的布局消息,占据更多的内存与资源

触发重绘

对flex布局的理解

容器

1)父容器

display:flex

justify-content 子容器按主轴方向排列 flex-start/end,center,space-around/between

align-items 子容器按交叉轴排列 flex-satrt/end,center,baseline(首行文字),stretch

flex-wrap 自动换行

2)子容器

flex 在主轴上伸缩

(flex是多个属性的缩写,允许1-3个值连用,)

align-self 在交叉轴上的排列,取值和上面一样

1)主轴

2)交叉轴

flex-direction:row/column

对BFC的理解

what
块级格式化上下文
一个独立的渲染区域,使其内部的布局不受外部元素的影响
why
主要用于清除浮动影响,与避免外边距合并等问题
how
创建bfc:

  1. float left/right
  2. position absolute/fixed
  3. display inline-block/table-cell
  4. overflow:hidden/auto/scroll

实现移动端响应式布局的方式

响应式:在不同屏幕的设备上,动态调整页面布局与样式

1)采用flex布局,避免使用固定宽度,采用百分比

使用vw,vh,rem,em单位定义尺寸

2)使用媒体查询,针对不同屏幕尺寸编写样式

图片适配:使用百分比宽度,srcset属性

3)使用第三方组件库

css尺寸单位

  • px 绝对长度,由屏幕分辨率决定
  • em 相对长度,相对自身font大小,自身fontsize未设置继承父元素
  • rem 相对长度,相对页面根元素大小
  • vw/vh 相对长度,相对视窗的宽/高 1/100

居中的实现方式

  1. 利用flex布局
    display:flex
    justify-Content:center
    align-Items:center

  2. 利用定位:
    position:absolute
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);

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

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

相关文章

【售前方案】工业园区整体解决方案,智慧园区方案,智慧城市方案,智慧各类信息化方案(ppt原件)

基于云计算、物联网、移动通信计算的智慧园区集中运营管理平台是一个高度集成化、智能化的管理系统,它利用先进的技术手段对园区进行全方位的监控和管理。 软件资料清单列表部分文档清单:工作安排任务书,可行性分析报告,立项申请审…

Nacos 配置中心变更利器:自定义标签灰度

作者:柳遵飞 配置中心被广泛使用 配置中心是 Nacos 的核心功能之一,接入配置中心,可以实现不重启线上应用的情况下动态改变程序的运行期行为,在整个软件生命周期中,可以极大降低了软件构建及部署的成本,提…

两大新兴开发语言大比拼:Move PK Rust

了解 Move 和 Rust 的差异有助于开发者根据项目的具体需求选择最合适的语言。选择不恰当的语言可能会导致项目后期出现技术债务。不同语言有其独特的优势。了解 Move 和 Rust 的差异可以帮助开发者拓展技术视野,发现不同语言在不同领域的应用潜力。 咱们直奔主题&a…

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法 目录 文章目录 【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法目录摘要:研究背景:问题与挑战:如何解…

面试题:Kafka(一)

1. Kafka如何保证消息不丢失 生产者发送消息到Brocker丢失 设置异步发送 消息重试 消息在Brocker中存储丢失 发送确认机制acks 消费者从Brocker接收消息丢失 Kafka 中的分区机制指的是将每个主题划分成多个分区(Partition)topic分区中消息只能由消费者…

基于多模板配准的心腔分割算法

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月18日20点09分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅…

ScubaGear:用于评估 Microsoft 365 配置是否存在安全漏洞的开源工具

ScubaGear 是由网络安全和基础设施安全局 (CISA) 创建的开源工具,用于自动评估 Microsoft 365 (M365) 配置中是否存在潜在的安全漏洞。 ScubaGear 分析组织的 M365 租户配置,提供可操作的见解和建议,以帮助管理员解决安全漏洞并加强 Microso…

PgSQL汇总

SQL sql执行顺序 1.from 2.on 3.join 4.where 5.group by(开始使用select中的别名,后面的语句中都可以使用) 6. avg,sum.. 7.having 8.select 9.distinct 10.order by 11.limit⭐流程控制语句 CASE 写法一: CASE case_valueWHEN when_value THENsta…

.NET 简介

文章目录 一、组件二、免费且开源三、支持四、.NET 生态系统 .NET 是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序。 .NET 可以运行使用多种语言编写的程序,其中 C# 是最常用的语言。 .NET 依赖于许多大规模应用在生产中使用的高…

Linux之vim模式下全选命令

在Linux系统中,使用Vim编辑器进行全选操作可以通过以下几种方式实现: 1.使用键盘快捷键 按下 ”ggVG”(先按下”g”,再按下”g”,再按下”V”,最后按下”G”)可以全选当前文件内容。其中 ”g…

【学习笔记】大模型调优(llms_tuning)

项目地址:GitHubchunhuizhang/llms_tuning 文章目录 01 TRL SFTTrainer 中的 formatting_func 与 DataCollatorForCompletion02 accelerate ddp 与 trl SFTTrainer03 finetune_llama3_for_RAG04 optimizer Trainer 优化细节(AdamW,grad clip、…

剧本杀门店预约小程序,解锁沉浸式推理体验

一、开发背景 剧本杀作为一种热门娱乐游戏,深受大众的欢迎,但随着市场的快速发展,竞争也在不断加大,对于剧本杀线下商家来说面临着发展创新。 剧本杀线下门店数量目前正在逐渐增加,竞争激烈,而门店的获客…

OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算

本文实现Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼。 步骤一:导入必要的库和设置参数 首先,代码导入了必要的Python库,如dlib、OpenCV和scipy。通过argparse设置了输入视频和面部标记预测器的参数。 from…

candence : 如何利用EXCEL 绘制复杂、多管脚元件

如何利用EXCEL 绘制复杂、多管脚元件 前面的步骤直接略过 我们以STM32F407VEXX 系列 100pin 芯片为例讲解: 1、新建好一个空元件 2、使用阵列,放置管脚 点击 “ ok ” 3、选中所有管脚 右键 “edit properites” 出现如下页面 4、点击 左上角&…

Java多线程回顾总结

目录 一.线程与创建线程方式简介 二.Thread继承 三.实现Runnable接口 四.Callable接口 五.使用线程池 一.线程与创建线程方式简介 线程与进程的区别: 1、一个进程至少包含一个线程 2、比如电脑上QQ,运行起来就是一个进程,QQ可以聊天同时也可以传文…

深度学习基础练习:代码复现transformer重难点

2024/11/10-2024/11/18: 主要对transformer一些比较难理解的点做了一些整理,希望对读者有所帮助。 前置知识: 深度学习基础练习:从pytorch API出发复现LSTM与LSTMP-CSDN博客 【神经网络】学习笔记十四——Seq2Seq模型-CSDN博客 【官方双语】一…

Java连接MySQL(测试build path功能)

Java连接MySQL(测试build path功能) 实验说明下载MySQL的驱动jar包连接测试的Java代码 实验说明 要测试该情况,需要先安装好MySQL的环境,其实也可以通过测试最后提示的输出来判断build path是否成功,因为如果不成功会直…

DQN系列算法详解

代码链接见文末 1. Q-learning 1.1 概述 Q-Learning是一种强化学习算法,目的是通过选择能带来最大长期收益的行为来完成任务。 做事包含瞬时奖励和记忆经验奖励: 在Q-Learning中,每个动作都会带来“瞬时奖励”,同时也会根据过去的经验记住哪些行为更有利。瞬时奖励: 这里…

七、箭头函数及简写、arguments、剩余参数、展开运算符、解构数组与对象、数组常见方法(forEach、map、join、reduce)

1. 箭头函数 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head>…

.NET桌面应用架构Demo与实战|WPF+MVVM+EFCore+IOC+DI+Code First+AutoMapper

目录 .NET桌面应用架构Demo与实战|WPFMVVMEFCoreIOCDICode FirstAutoPapper技术栈简述项目地址&#xff1a;功能展示项目结构项目引用1. 新建模型2. Data层&#xff0c;依赖EF Core&#xff0c;实现数据库增删改查3. Bussiness层&#xff0c;实现具体的业务逻辑4. Service层&am…