1. IE无法调整那些使用px作为单位的字体大小;
2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;
3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)
em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。
em特点
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
所以大家在写CSS的时候,需要注意两点:
1. body选择器中声明Font-size=62.5%;
2. 将你的原来的px数值除以10,然后换上em作为单位;
3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。
也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。
计算公式:1 ÷ 父元素的font-size × 需要转换的像素值 = em值
rem特点
rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。你是想了解相关知识吗?建议去优就业了解相关课程
cover css,日历翻页css,css 禁止input修改,vs怎么和css链接,美国助学金css,css怎么隐藏行内边框,css3滑动效果的弹出层
@ css中选择器命名错误的是?
首字母必须是字母或者下划线不能是数字和其他
@ 四路选择器功能表?
四路选择器简介:要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。
HTML页面中的元素就是通过CSS选择器进行控制的。
1.1 类别选择器
类选择器根据类名来选择
前面以”.”来标志,如:
.demoDiv{
color:#FF0000;
}
在HTML中,元素可以定义一个class的属性。
如:
<div class="demoDiv">
这个区域字体颜色为红色
</div>
同时,大家可以再定义一个元素:
<p class="demoDiv">
这个段落字体颜色为红色
</p>
最后,用浏览器浏览,大家可以发现所有class为demoDiv的元素都应用了这个样式。包括了页面中的div元素和p元素。
上例大家给两个元素都定义了class,但如果有很多个元素都会应用这个元素,那得一个个的定义元素,就会造成页面重复的代码太多,这种现象称为“多类症”。
大家可以改成这样来定义。
<div class="demoDiv">
<div>
这个区域字体颜色为红色
</div>
同时,大家可以再定义一个元素:
<p>
这个段落字体颜色为红色
</p>
</div>
这样,大家就只是定义了一个类,同时把样式应用到了所有的元素当中。
1.2 标签选择器
一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签
采用相应的CSS样式,(在大环境中你可能出于不同的位置,但是不管怎么样,你总
是穿着同一套衣服,这件衣服就是由标签选择器事先给你限定好的,不管走到哪里
都是这身衣服)比如,在style.css文件中对p标签样式的声明如下:
p{
font-size:12px;
background:#900;
color:090;
}
复制代码则页面中所有p标签的背景都是#900(红色),文字大小均是12px,颜色为#090(绿色)
,这在后期维护中,如果想改变整个网站中p标签背景的颜色,只需要修改
background属性就可以了,就这么容易!
1.3 ID选择器
根据元素ID来选择元素,具有唯一性。
前面以”#”号来标志,在样式里面可以这样定义:
#demoDiv{
color:#FF0000;
}
这里代表id为demoDiv的元素的设置它的字体颜色为红色。
大家在页面上定义一个元素把它的ID定义为demoDiv,如:
<div id="demoDiv">
这个区域字体颜色为红色
</div>
用浏览器浏览,大家可以看到因为区域内的颜色变成了红色
再定义一个区域
<div>
这个区域没有定义颜色
</div>
用浏览器浏览,与预期的一样,区域没有应用样式,所以区域中的字体颜色还是默认的颜色黑色。
1.4 后代选择器
后代选择器也称为包含选择器,用来选择特定元素或元素组的后代,后代选择器用两个常用选择器,中间加一个空格表示。其中前面的常用选择器选择父元素,后面的常用选择器选择子元素,样式最终会应用于子元素中。
如:
<style>
.father.child{
color:#0000CC;
}
</style>
<p class="father">
黑色
<label class="child">蓝色
<b>也是蓝色</b>
</label>
</p>
这里大家定义了所有class属性为father的元素下面的class属性为child的颜色为蓝色。
后代选择器是一种很有用的选择器,使用后代选择器可以更加精确的定位元素。
@ 为什么看到有的前端工程师将css每个选择器里的内容写成一行?
应该是个老程序猿,之前css压缩没有实现的时候,通过缩短选择器嵌套,人工进行压缩就出现了这个。而且没有less,scss开发的时候这种情况更甚,不过有了这些便捷的开发方式也希望去注意一点嵌套层数。
推荐项目工程呢还是用less,scss开发比较好,css文件开发期就是被编译的压不压缩无所谓了。
推荐楼主使用 vs code 这个编辑器 非常好用的东西。如果你要发展全栈或者学习node,这个玩意儿绕不开1