CSS常见样式问题搜集
1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别?
-
块级元素:
块级元素 -
行内元素:
行内元素
区别:
- 行内元素会在同一行上的一条直线上水平方向排列,而块级元素各占据一行,垂直方向排列
- 块级元素可以包含行内元素和块级元素,但是行内元素不能包含块级元素
- 行内元素与块级元素属性的不同,主要体现在盒模型属性上
- 行内元素设置width无效,height无效(可以设置line-height),margin上下无效左右有效,padding上下无效左右有效。
- 块级元素默认宽度与浏览器宽度一样,与内容无关;行内元素宽度与内容有关;
2.什么是 CSS 继承? 哪些属性能继承,哪些不能?
- 每个 CSS 属性定义 的概述都指出了这个属性是默认继承的 ("Inherited: Yes") 还是默认不继承的 ("Inherited: no")。这决定了当你没有为元素的属性指定值时该如何计算值。
- 继承属性
当元素的一个 继承属性 (inherited property )没有指定值时,则取父元素的同属性的计算值。只有文档根元素取该属性的概述中给定的初始值。
典型例子:color 属性 :
p {
color: green
}
<p>这一句用作<em>强调的文本</ em>。</p>
-
文本 "强调的文本" 将会呈现为绿色,因为em元素继承了p元素color属性的值,而没有获取color属性的初始值。
-
非继承属性
当元素的一个 非继承属性 没有指定值时,则取属性的 初始值(该值在该属性的概述里被指定)。 -
列举:
不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi
所有元素可继承:visibility和cursor
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction
终端块状元素可继承:text-indent和text-align
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image
3.如何让块级元素水平居中?如何让行内元素水平居中?
块级元素水平居中:
margin : 0 auto;
行内元素水平居中:
text-align : center;
4.用 CSS 实现一个三角形
width:0;
height:0;
border-top:20px solid transparent;
border-right:20px solid transparent;
border-bottom:20px solid transparent;
border-left:20px solid blue;
}
将想表现的三角形颜色显现,其他的border将颜色设置为transparent
即可得到想要的三角形效果。
5.单行文本溢出加 ...如何实现?
E{
white-space:nowrap; //不折行
overflow:hidden; //超出部分隐藏
text-overflow:ellipsis; //显示省略符号来代表被省略的文本
}
6.px, em, rem 有什么区别
- px 像素px是相对于显示器屏幕分辨率而言的
- em 相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸
- rem rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素
7.解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
字体名称之中有空格,不加引号会被识别成两个元素
数字是Unicode码
用escape()转化后可以查询。