中一样,这儿真没有把它们重复一次的必要。
!Important
所有被!important 标记的样式,即使它后来被重写,浏览器也只会采用被标记的那条。
#content{
height:960px !important;
height:900px;
}
!important: IE7/IE8/IE9/FireFox 可以识别上面附加!important 的语句,看到附加!important 的语句后,就不会再去执行 第二句,尽管他们也“认识”第二句,但是附加“!important”的语句拥有绝对优先级,只要有它存在,第二句就不允许执行。
IE6会执行!important 的语句后,再去执行第二句“height:900px” ,用后面的样式覆盖了前面的样式,所以在IE6下,最终的height值是900px。
@import and
在决定使用使用哪种方法去包含你的样式表之前,你应该明白这两种方法被用来干嘛?
链接式:
link就是把外部CSS与网页连接起来,将其加在 头部标签中,具体形式如下:
导入样式:
通过两个或以上的css 文件共同部分,在css 页面引入css 文件,通过@import url(” “)
@import url("global.css");
@import url(global.css);
@import "global.css";
以上三种方式都有效,
区别:
1)link属于XHTML标签,而@import是CSS提供的;
2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
3)@import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;
4)link方式的样式的权重 高于@import的权重.
行内元素、块元素和空元素
行内元素特点
1、和其他元素都在一行上;
2、元素的高度、宽度、行高及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
行内元素在设置 水平方向的padding-left、padding-right、margin-left、margin-right 都产生边距效果,但竖直方向的padding-top、padding-bottom、margin-top、margin-bottom 却不会产生边距效果。
块级元素特点
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
在html中,、、、 、 、 和 就是典型的行内元素(inline)元素。
块级元素是可以设置宽高的,但是它的实际宽高是本身宽高+padding。block元素要多带带占一行。内联元素不多带带占一行,给他设置宽高是没有用的。
块级元素和行内元素列表:
空元素
知名的空元素: 鲜为人知的是:
长度单位
em
em 为相对长度单位,相对于当前对象内文本的字体尺寸(font-size )。比如:Web页面中body 的文字大小在用户浏览器下默认渲染是16px ,所以,此时的1em = 16px ;
in
英寸(Inches)。绝对长度单位。
1in = 2.54cm = 25.4 mm = 72pt = 6pc = 96px
pt
点(Points)。绝对长度单位。
1in = 2.54cm = 25.4 mm = 72pt = 6pc = 96px
small
标签呈现小号字体效果。
, 和 , 标签
`` 标签和 `` 标签一样,用于强调文本,但它强调的程度更强一些。
`em` 是 斜体强调标签,更强烈强调,表示内容的强调点。相当于html元素中的 `... `;
`< b > < i >` 是视觉要素,分别表示无意义的加粗,无意义的斜体。
em 和 strong 是表达要素(phrase elements)。
b标签和i标签的区别
b 元素现在描述为在普通文章中仅从文体上突出的不包含任何额外的重要性的一段文本。
例如:文档概要中的关键字,评论中的产品名。或者代表强调的排版方式。
i 元素现在描述为在普通文章中突出不同意见或语气或其他的一段文本,
例如:一个分类名称,一个技术术语,一个外语中的谚语,一个想法等。或者代表斜体的排版方式。
角度单位
deg
度(Degress)。一个圆共360度
90deg = 100grad = 0.25turn
grag
梯度(Gradians)。一个圆共400梯度
90deg = 100grad = 0.25turn
turn
转、圈(Turns)。一个圆共1圈
90deg = 100grad = 0.25turn
rad
弧度(Radians)。一个圆共2π弧度
90deg = 100grad = 0.25turn
CSS 多类选择器
一个 class 值中可能包含一个词列表,各个词之间用空格分隔。例如,如果希望将一个特定的元素同时标记为重要(important)和警告(warning),就可以写作:
This paragraph is a very important warning.
对于ID来说,就不能这样写了
所有浏览器下的CSS透明度
元素透明度时常是个恼人的问题,下面这种方式可以实现所有浏览器下的透明度设置:
.transparent {
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
}
Zoom 属性是IE浏览器的专有属性,Firefox等浏览器不支持。它可以设置或检索对象的缩放比例。除此之外,它还有其他一些小作用,比如触发IE的hasLayout 属性,清除浮动、清除margin 的重叠等。
当一个元素的 hasLayout 属性值为true时,我们说这个元素有一个布局(layout)
css float属性
定义和用法
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
注释: 假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。
伟大的塌陷
使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的。如果父元素只包含浮动元素,那么它的高度就会塌缩为零。如果父元素不包含任何的可见背景,这个问题会很难被注意到
塌陷的直观对立面更不好,看看下面的情况:
清除浮动
如果你很明确的知道接下来的元素会是什么,可以使用 clear:both ; 来清除浮动。这个方法很不错,它不需要 hack ,不添加额外的元素也使得它有良好的语义性。
使用css 伪选择符(:after)来清除浮动:
.clearfix:after {
content: ".";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
渐进增强与优雅降级
概念
优雅降级和渐进增强印象中是随着css3 流出来的一个概念。由于低级浏览器不支持css3 ,但css3 的效果又太优秀不忍放弃,所以在高级浏览中使用 css3 而低级浏览器只保证最基本的功能。咋一看两个概念差不多,都是在关注不同浏览器下的不同体验,关键的区别是他们所侧重的内容,以及这种不同造成的 工作流程的差异。
渐进增强 progressive enhancement :针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation :一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
区别
优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
visibility:hidden和display:none
display:none 隐藏对应的元素,在文档布局中不再给它分配空间,它各边的元素会合拢,
就当他从来不存在。
visibility:hidden 隐藏对应的元素,但是在文档布局中仍保留原来的空间。
使用CSS display:none 属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;而使用visibility:hidden 属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在。
text 文本属性
text-indent
text-indent 属性规定文本块中首行文本的缩进。
注释:允许使用负值。如果使用负值,那么首行会被缩进到左边。使用一个较大的负值进行缩进的话,文字将被隐藏,如-9999em
letter-spacing与word-spacing
letter-spacing 属性与 word-spacing 的区别在于,前者是修改字母的间隔,后者是修改单词或单个文字的间隔
text-transform
text-transform 属性处理文本的大小写。这个属性有 4 个值:
none
uppercase:所有的单词都大写
lowercase:所有的单词都小写
capitalize:只对每个单词的首字母大写
text-decoration
text-decoration 有 5 个值:
none
underline:下划线
overline:上划线
line-through:在文本中间画一个贯穿线
blink:让文本闪烁
white-space
pre-line 合并空白符序列,但保留换行符
normal
nowrap 防止元素中的文本换行
pre 空白符不会被忽略
pre-wrap 保留空白符序列
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110954.html
摘要:也就是说,较宽的外边距决定两个元素最终离多远。盒模型结论二没有设定属性的元素始终会扩展到填满其父元素的宽度为止。布局的基本概念多栏布局有三种基本的实现方案固定宽度流动弹性。
为文档添加样式的三种方法
行内样式
行内样式是写在HTML标签的style属性里的,比如:
Hello Everyone!
行内样式会覆盖嵌入样式和链接样式。
嵌入样式
嵌入的css样式是放在HTML文档...
摘要:目前在前端开发所占的比重越来越高,在我们学习和开发的过程中都会去使用。下面把程序员雷雪松对的知识点总结和归纳分享给大家。过滤对同胞元素的搜索。将匹配元素集合缩减为集合中的最后一个元素。返回指定元素相对于其他指定元素的位置。
jQuery目前在Web前端开发所占的比重越来越高,在我们jQuery学习和开发的过程中都会去使用。jQuery帮我们解决了浏览器之间JS一些不兼容的地方和简化了原...
摘要:子选择器只对直接后代有影响的选择器,而对孙子后代以及多层后代不产生作用。烂透了尽可能使用复合语法糟糕好的避免不必要的重复糟糕好的组织好的代码格式代码的易读性和易维护性成正比。
标签与元素
标签和p元素有什么区别呢?大多数时候他们表示的是同一样东西,但仍有细微的区别。、等指的是HTML分隔符,而元素则是由一对开始结束标签构成的,用来包含某一些内容
子选择器和后代选择器的区别:
后代选择器...
摘要:继承性子标签会继承父标签样式优先级行内样式选择器类选择器标签选择器通配符继承机制创建了的元素中,在垂直方向上的会发生重叠。
技能考察:
一、关于Html
1、html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化
a、理解:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时
让浏览器的爬虫和...
摘要:继承性子标签会继承父标签样式优先级行内样式选择器类选择器标签选择器通配符继承机制创建了的元素中,在垂直方向上的会发生重叠。
技能考察:
一、关于Html
1、html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化
a、理解:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时
让浏览器的爬虫和...
男| 高级讲师
阅读 2295· 2021-11-24 10:33
阅读 1313· 2019-08-30 15:43
阅读 3229· 2019-08-29 17:24
阅读 3463· 2019-08-29 14:21
阅读 2203· 2019-08-29 13:59
阅读 1698· 2019-08-29 11:12
阅读 2792· 2019-08-28 18:00
阅读 1812· 2019-08-26 12:17
<