批改状态:合格
老师批语:下次配运行图
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>em原理与应用</title><style>/* 1.什么是em *//* h2 {font-size: 1.5em;} *//* 1.5em是用户代理(浏览器)为h2标签设置的默认字号 *//* em: 浏览器文本的默认字号的相对关键字,通常是16px *//* 1em = 16px *//* 1.5em = 1.5 * 16px = 24px *//* --------------------------------------------- *//* 2. em 用在哪? *//* 2.1 设置响应式的文本字号 *//* font-size: 是允许继承的 *//* 当前h2的字号,继承自它的祖先元素(body,html) *//* 想改变h2的字号,大小 */html{font-size: 20px;}/* h2 font-size: 1.5em 1.5em * 20px = 30px *//* 2.2 设置盒模型的属性的响应式 */div:first-of-type {font-size: 1em;/* width: 100px;height: 100px; */width: 5em;height: 5em;background-color: green;}/* 因为盒子的大小使用em,所以只需要设置盒子的font-size就可以动态的设置大小了 */div:first-of-type {font-size: 0.5em;}div:first-of-type {font-size: 2em;}</style></head><body><h2>php.cn</h2><div></div></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>em制作一组响应的按钮组件</title><style>.btn {background-color:skyblue;color: #fff;border: none;outline: none;padding: 0.5em 1em;border-radius: 0.3em;}.btn:hover {/* 透明度 */opacity: 0.8;/* 将鼠标设置为手型 */cursor: pointer;box-shadow: 0 0 3px #888;transition: 0.3s;}/* 如果想设置三个不同的大小的按钮,只需要为这三个按钮指定不同的字号就可以 *//* 较小的 */.small {/* font-size: 10px; */font-size: 0.8em;}/* 正常的 */.normal {/* font-size: 16px; */font-size: 1em;}/* 较大的 */.larger {/* font-size: 22px; */font-size: 1.3em;}</style></head><body><buttton class="btn small">Button</buttton><buttton class="btn normal">Button</buttton><buttton class="btn larger">Button</buttton></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>em定义字号</title><style>body {/* font-size: 20px; *//* 20px = 1.25 * 16px(1em) */font-size: 1.25em;}/* h2 : 1.5em 30px */</style></head><body><h2>php.cn</h2><!-- font-size 具有继承性,h2 font-size: 1.5em / 30px 所以span的font-size也是30px --><!-- 本意并不想让span内的文本与它的描述的对象的大小一样 --><h2>php.cn <span>php中文网</span></h2><!-- em: 有动态性和继承性优点,但是也有缺点 --><!-- 我们非常的需要一个固定值的em,它不应该随着它自身和祖先元素的字号大小而变动 --><!-- 用rem就可以解决掉,rem 就是一个固定值的em --></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>rem定义字号</title><style>html {/* em的初始值就是用户代理的值,默认就是16px *//* 1em = 20px; */font-size: 1.25em;/* 此时 1em = 20px *//* 当前font-size属性出现在了html中 *//* html 叫根元素,一个页面中它是唯一的且是最大包含块 *//* 所以,在html中定义的em大小,可看成一个常量(固定的值) *//* html的所有后代元素,如果想引用html中的字号,就不能再用em了 *//* 因为em具有继承性 *//* 此时,我们用一个新的关键字来引用根元素中的字号大小font-size的值 *//* 这个关键字就是: rem */}h2 {/* 1.5rem = 1.5 * 20px = 30px */font-size: 1.5rem;}h2 span {/* 1rem = 1 * 20px = 20px; */font-size: 1rem;}</style></head><body><h2>php.cn <span>php中文网</span></h2></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>em实现响应式布局</title><style>/* 设置根元素字号 */html {/* font-size: 12px; */font-size: 0.75em;/* 后面就可以直接使用“rem”来引用“12px”来定义字号或其它属性 */}.panel {/* font-size: 1rem; *//* 此时,当前元素.panel中的其它属性,如果用到em就是1rem(12px) *//* 1em = 12px */padding: 1em;/* 0.5em = 6px */border-radius: .5em;/* 边框不要用em/rem,一定要用px */border: 1px solid #999;background-color: #eee;margin: 2em;}.panel h2 {/* 以后的字号,强烈推荐使用rem设置 */font-size: 1.2rem;/* 1em = 1.2rem */margin: 1em 0;}.panel p{/* 1.1rem = 1.1 * 12px = 13.2px */font-size: 1.1rem;/* 缩进2个字符 */text-indent: 2em;}/* 适配以小到大配置 *//* 屏幕宽度 >= 800px, 字号放大到14px */@media screen and (min-width: 800px) {/* 14/16 = 0.875em */html {font-size: 0.875em;}.panel {background-color: wheat;}}/* 屏幕宽度 >= 1000px, 字号放大到16px */@media screen and (min-width: 1000px) {/* 16/16 = 1em */html {font-size: 1em;}.panel {background-color: lightcyan;}}/* 屏幕宽度 >= 1200px, 字号放大到20px */@media screen and (min-width: 1200px) {/* 20/16 = 1.25em */html {font-size: 1.25em;}.panel {background-color: lightskyblue;}}</style></head><body><div class="panel"><h2>除了“嫦娥”,还有谁带回太空“土特产”</h2><div class="panel-body"><p>1969年7月20日,NASA阿波罗11号登月舱带着2名宇航员——尼尔·阿姆斯特朗和巴兹·奥尔德林,成功踏上月球正面的静海基地。</p></div></div></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>em实现响应式布局: 动态调整响应级别</title><style>/* 设置根元素字号 */html {/* font-size: 12px; */font-size: 0.75em;/* 后面就可以直接使用“rem”来引用“12px”来定义字号或其它属性 */}.panel {/* font-size: 1rem; *//* 此时,当前元素.panel中的其它属性,如果用到em就是1rem(12px) *//* 1em = 12px */padding: 1em;/* 0.5em = 6px */border-radius: .5em;/* 边框不要用em/rem,一定要用px */border: 1px solid #999;background-color: #eee;margin: 2em;}.panel h2 {/* 以后的字号,强烈推荐使用rem设置 */font-size: 1.2rem;/* 1em = 1.2rem */margin: 1em 0;}.panel p{/* 1.1rem = 1.1 * 12px = 13.2px */font-size: 1.1rem;/* 缩进2个字符 */text-indent: 2em;}/* 适配以小到大配置 *//* 屏幕宽度 >= 800px, 字号放大到14px */@media screen and (min-width: 800px) {/* 14/16 = 0.875em */html {font-size: 0.875em;}.panel {background-color: wheat;}}/* 屏幕宽度 >= 1000px, 字号放大到16px */@media screen and (min-width: 1000px) {/* 16/16 = 1em */html {font-size: 1em;}.panel {background-color: lightcyan;}}/* 屏幕宽度 >= 1200px, 字号放大到20px */@media screen and (min-width: 1200px) {/* 20/16 = 1.25em */html {font-size: 1.25em;}.panel {background-color: lightskyblue;}}.panel.large{font-size: 2rem;}</style></head><body><button>缩小</button><div class="panel large"><h2>除了“嫦娥”,还有谁带回太空“土特产”</h2><div class="panel-body"><p>1969年7月20日,NASA阿波罗11号登月舱带着2名宇航员——尼尔·阿姆斯特朗和巴兹·奥尔德林,成功踏上月球正面的静海基地。</p></div></div></body></html><script>document.querySelector('button').addEventListener('click',(ev) =>{const panel = document.querySelector('.panel');panel.classList.toggle('large');if(panel.classList.contains('large')) ev.target.innerHTML = '缩小';else ev.target.innerHTML = '放大';})</script>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>视口单位:vh / vw </title><style>/* 视口:“可视窗口”,浏览器窗口中用于显示文档的可视区域 *//* 视口不包括地址栏,菜单栏,工具条,状态栏 *//* vh: 视口的“初始包含块”的高度的百分之一(1/100)vw: 视口的“初始包含块”的宽度的百分之一(1/100)初始包含块:目前 可以简单的理解为“html” */.box {width: 50vw;height: 25vh;background-color: lightgreen;margin: auto;}</style></head><body><div class="box"></div></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>视口单位:vmin / vmax </title><style>/* .box {width: 50vw;height: 25vh;background-color: lightgreen;margin: auto;} */.box {width: 50vmin;height: 50vmin;background-color: lightgreen;margin: auto;}/* 用在手机横竖屏适配(但是一些老系统不支持) */</style></head><body><div class="box"></div></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>css原生变量 / css自定义属性</title><style>body {--color: #f00;--active-color: #0f0;--a--border:1px solid;}a {color: var(--color);}a:hover {color: var(--active-color);border: var(--a--border);}</style></head><body><a href="">php.cn</a></body></html>
文本字号单位(也叫元素符号),浏览器文本的默认字号的相对关键字,根元素html中font-size单位通常是1em=16px(可以修改1em为其它px),em具有继承性(子元素em是以父元素font-size为单位大小)。主要是设置动态的尺寸
根元素html中font-size单位,rem不具有继承性,主要是设置固定的字号。
视口:“可视窗口”,浏览器窗口中用于显示文档的可视区域,视口不包括地址栏,菜单栏,工具条,状态栏
为屏幕适配,适配以小到大配置。
视口的高度的百分之一(1/100)
视口的宽度的百分之一(1/100)
视口的最小的边的百分之一
视口的最大的边的百分之一
用在手机横竖屏适配(但是一些老系统不支持)
变量名称必须以 — 开头,变量只能存储一个属性的值,而不能用来存储一个属性,变量中无法使用加减等数学方法,如果需要使用计算,则可以使用 calc 函数,CSS变量是区分大小写的,通过var()函数来引用。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号