当前位置: 首页 > news >正文

21.[前端开发]Day21-HTML5新增内容-CSS函数-BFC-媒体查询

王者荣耀-网页缩小的问题处理

为什么会产生这个问题?怎么去解决

可以给body设置最小宽度

1 HTML5新增元素

HTML5语义化元素

HTML5其他新增元素

2 Video、Audio元素

HTML5新增元素 - video

video支持的视频格式

video的兼容性写法

HTML5新增元素 - audio

audio支持的音频格式

3 input、全局属性data - *

input元素的扩展内容

按住ctrl可以多选:苹果,香蕉,句子。。。

初学者学习不推荐直接用CSS的官方文档:因为术语很专业,划分很仔细。

那么什么时候使用W3C的文档呢?当你觉得MDN文档说的不对,或者其他地方说的不好。。

新增全局属性 data-*

4 white-space/text-overflow

CSS属性 - white-space

CSS属性 - text-overflow


5 理解浏览器前缀

浏览器前缀


6 CSS常见的函数扩展

CSS中的函数

CSS函数 - var

CSS函数 -calc

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 500px;height: 100px;background-color: orange;}.item {height: 50px;display: inline-block;}.item1 {/* width的百分比相对于包含块(父元素) */width: calc(100% - 100px);background-color: #f00;}.item2 {width: 100px;background-color: #0f0;}</style>
</head>
<body><div class="box"><div class="item item1"></div><div class="item item2"></div></div></body>
</html>

CSS函数 - blur

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* img {filter: blur(5px);} */.box {display: inline-block;position: relative;/* filter: blur(5px); */}.cover {position: absolute;left: 0;right: 0;top: 0;bottom: 0;background-color: rgba(255,255,255,0.2);backdrop-filter: blur(10px);}</style>
</head>
<body><!-- filter --><!-- <img src="../images/kobe01.jpg" alt=""> --><div class="box"><img src="../images/kobe01.jpg" alt=""><div class="cover"></div></div></body>
</html>

CSS函数 – gradient

linear-gradient的使用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 200px;height: 100px;/* background-color: orange; *//* background-image: linear-gradient(red, blue); *//* 改变方向 *//* background-image: linear-gradient(to right, red, blue); *//* background-image: linear-gradient(to right top, red, blue); *//* background-image: linear-gradient(-45deg, red, blue); *//* background-image: linear-gradient(to right, red, blue 40px, orange 60%, purple 100%); *//* radial-gradient *//* background-image: radial-gradient(red, blue); */background-image: radial-gradient(at 0% 50%, red, blue);}</style>
</head>
<body><div class="box"></div></body>
</html>


7 深入理解BFC

FC – Formatting Context

BFC – Block Formatting Context

BFC有什么作用呢?

BFC的作用一:解决折叠问题(权威)

BFC的作用二:解决浮动高度塌陷(权威)

媒体查询

 方式一:当屏幕宽度小于等于 800 像素时,将 ./css/body_bgc.css 样式表中的样式应用到当前页面

方式二:

1.

2.

媒体查询 - 媒体类型(Media types)

媒体查询 – 媒体特性(Media features)

媒体查询 – 逻辑操作符(logical operators)

常见的移动端设备

Day21 练习

一. 完成所有的代码练习

二. 说说你对BFC的理解(面试题)

  • block format context(块级格式化上下文)

    • 是页面的一块渲染区域 并且有一套渲染规则,决定了子元素如何定位 以及与其他元素之间的排列 布局之间的关系

    • BFC是一个独立的布局环境 相当于是一个容器 在其中按照一定的规则对块级元素进行摆放 ,并且不会影响其他的布局环境中的盒子,如果一个元素触发BFC则BFC中的元素布局不受外界的影响

  • 块级元素在标准流中的布局是属于BFC的

  • 创建BFC的条件:

    • 根元素: body/:root

    • float left/right

    • position absolute/fixed

    • overflow: 除visible

    • display: inline-block/table-cell/table-caption ,flex/grid...

  • 特点

    • 垂直方向 自上而下排布

    • 垂直方向的间距由margin决定

    • 同一个BFC中 盒子之间的margin会折叠

    • BFC中 每个元素的左边缘紧挨着包含快的左边缘

    • 计算 BFC 的高度时,需要计算浮动元素的高度

    • BFC内部不会影响外部元素

    • BFC区域不会与浮动的元素发生重叠

  • 作用

    • 解决margin折叠的问题

    • 解决高度塌陷的问题

      • 前提 :浮动的父级BFC高度为auto

    • 创建两栏布局

      • 左边浮动 右边overflow:hidden

三. 整理<王者荣耀>用到的CSS知识点

  • 定位: absolute relative fixed

    • 定位实现左右或者垂直居中

    • 给盒子一个高度或宽度 l0r0/t0b0 设置margin在对应方向的auto

    • 对z-index的设置决定部分定位元素的层叠

  • flex布局

    • 运用justify-content align-items来决定axis与cross axis上的元素的位置

    • 以及让单个 flex item 不拉伸 设置flex-shrink的值 单纯设置 flex-grow避免flex-basis的影响

  • 动画以及transition

    • 设置帧动画

    • @keyframes来进行透明度的动画

    • 设置animation: name duration timing-function delay 等等

    • display对动画无效 可以在disblock的时候设置透明度的动画

    • 对height设置的transition 可以给父元素设置对应的padding-bottom以及box-sizing:border-box使得文字不动

总结:内容回顾

一. HTML5新增的内容

1.1. 语义化元素

  • header

  • nav

  • section

  • article

  • aside

  • footer

display: block

1.2. video/audio

  • 基本使用 src

  • 其他属性

    • controls

    • width/height

    • autoplay

    • muted

    • preload

  • 支持的格式

    • 浏览器支持的视频格式

  • 适配性写法

<video><source src><p>提示</p>
</video>

1.3. input新增特性

  • 新增的属性

  • type新增的类型

    • color

    • date

    • time

    • ...

1.4. 全局属性 data-*

// js代码目前了解

二. white-space/text-overflow(了解)

  • 其他值

三. 常见的CSS函数补充

3.1. var

  • 自定义属性: --main-color

  • var()

3.2. calc

  • 计算

3.3. blur

  • filter:

  • backdrop-filter:

3.4. gradient

  • image子类型

  • background-image

  • 两个函数:

    • linear-gradient

    • radial-gradient

四. 浏览器前缀

  • W3C制定标准

  • 浏览器厂商

    • -ms-

  • 开发者

    • 自动化打包工具帮助我们完成;

五. BFC

5.1. FC概念

  • BFC: block formatting context

  • IFC: inline formatting context

5.3. BFC官方文档解读

  • 从顶部在垂直方向一个挨着另外一个摆放

  • 他们的之间间距是通过margin设置, 在同一个BFC中, 如果相邻两个之间有margin会折叠

5.4. BFC的应用 - 消除折叠效果

  • 给某一个元素放到另外一个BFC中

5.5. BFC的应用-浮动高度塌陷

  • height为auto, 计算方法

    • inline

    • block

    • 绝对定位元素(absolutely positioned box) ignore

    • 浮动元素

      • 会增加BFC的高度以包裹(include)浮动元素的下边缘

六. 媒体查询

6.1. 媒体查询三种使用方法

  • @import

  • link

  • @media

6.2. 媒体查询的概念

  • 媒体类型

  • 媒体特性

    • 表达式, 必须有括号

  • 逻辑操作符(operators)

    • and

6.3. 案例练习

/* 
320~375之间 font-size: 15px;
375~414之间 font-size: 18px;
414~480之间 font-size: 21px;
大于480px font-size: 24px
*/
/* @media (min-width: 320px) and (max-width: 375px) {
.box { font-size: 15px; }
}
@media (min-width: 375px) and (max-width: 414px) {
.box { font-size: 18px; }
}
@media (min-width: 414px) and (max-width: 480px) {
.box { font-size: 21px; }
}
@media (min-width: 480px) {
.box { font-size: 24px; }
} */
​
/* CSS层叠性 */
@media (min-width: 320px) {.box { font-size: 15px; }
}
@media (min-width: 375px) {.box { font-size: 18px; }
}
@media (min-width: 414px) {.box { font-size: 21px; }
}
@media (min-width: 480px) {.box { font-size: 24px; }
}

http://www.lryc.cn/news/533579.html

相关文章:

  • C++SLT(五)——list
  • 网络安全ITP是什么 网络安全产品ips
  • 评估大模型(LLM)摘要生成能力:方法、挑战与策略
  • 《PYTHON语言程序设计》(2018版)1.20修改这道题,利用类的方式(二) 接近成功....(上)
  • USB子系统学习(四)使用libusb读取鼠标数据
  • 【产品小白】用户调研的需求是否都采纳?
  • 软件测试就业
  • qt部分核心机制
  • 【RocketMQ】RocketMq之ConsumeQueue深入研究
  • 如今物联网的快速发展对hmi的更新有哪些积极影响
  • linux 性能60秒分析
  • Redisson全面解析:从使用方法到工作原理的深度探索
  • neo4j-解决导入数据后出现:Database ‘xxxx‘ is unavailable. Run :sysinfo for more info.
  • 51单片机之引脚图(详解)
  • Hangfire.NET:.NET任务调度
  • 深入解析:React 事件处理的秘密与高效实践
  • 开源像素字体,可用于独立游戏开发
  • 【论文阅读】Comment on the Security of “VOSA“
  • 了解传输层TCP协议
  • flask实现用户名查重,重复的用户名阻止注册,以及如何优化
  • ASP.NET Core对JWT的封装
  • wordpressAI工具,已接入Deepseek 支持自动生成文章、生成图片、生成长尾关键词、前端AI窗口互动、批量采集等
  • Ollama部署 DeepSeek-R1:70B 模型的详细步骤
  • PAT乙级( 1009 说反话 1010 一元多项式求导)C语言版本超详细解析
  • 学习笔记十九:K8S生成pod过程
  • Qwen2-VL:增强视觉语言模型对世界任意分辨率的感知能力
  • 原神新版本角色牌上新 七圣召唤增添新玩法
  • Spring 中的 事务 隔离级别以及传播行为
  • 为多个GitHub账户配置SSH密钥
  • OSPF基础(3):区域划分