1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别?
常见的块级元素和行内元素
- 块级元素(block-level): div, h1, h2, h3, h4, h5, h6, p, hr, form, ul , dl, ol, pre, table, li, dd, dd, dt, tr, td, th。
- 行内元素 (inline-level): em, strong, span, a, br, img, button, input, label, select, option, textarea, code, script。
块级元素和行内元素的区别
- 块级元素会独占一行,默认情况下,其宽度自动填满其父元素宽度。行内元素占据自身宽度空间,不会独占一行,相邻的行内元素会排列在同一行里。
-
块级元素可以包含块级元素和行内,行内只能包含文本和行内。
例子中, h1标签嵌套的div和span都在一行。
span标签嵌套的div标签独占一行了。
-
块级元素可以设置width,height属性。而对行内元素无效。
-
块级元素可以设置margin和padding属性。行内元素的margin和padding属性,水平方向的padding-left,padding-right,margin-left,margin- right都产生边距效果,但竖直方向的padding-top,padding-bottom,margin-top,margin-bottom却不会产生边距效果。上下只是用于撑开边框和背景色,对于行高没有任何影响。
块级元素居中:margin: 0 auto; , 行内元素居中:text-align: center;。
2.什么是 CSS 继承? 哪些属性能继承,哪些不能?
-
继承是一种规则,它允许样式不仅应用于某个特定HTML标签元素,而且应用其后代。
-
能继承的属性: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、list-style、list-style-type、list-style-position、list-style-image、text-indent和text-align。
-
不能继承的属性: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。
3.如何让块级元素水平居中?如何让行内元素水平居中?
-
块级元素居中:margin: 0 auto; , 行内元素居中:text-align: center;。
4.用 CSS 实现一个三角形
5.单行文本溢出加 ...如何实现?
-
E{
white-space: nowrap;
over-flow: hidden;
text-overflow: ellipsis;
}
6.px, em, rem 有什么区别
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。em特点 :1. em的值并不是固定的;2. em会继承父级元素的字体大小。
rem是CSS3新增的一个相对单位(root em,根em)。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。举一个例子:p {font-size:14px; font-size:.875rem;}
7.解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
-
字体大小为12px(font-size),行高为12px的1.5倍也就是18px;
字体为tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif,先后顺序表示字体的匹配优先级;
\5b8b\4f53,宋体,为宋体的Unicode码,可以在chrome里面的console转译(escape);
'Hiragino Sans GB' 有空格,不加引号会被识别成两个元素。
'\5b8b\4f53' 加引号,用单引号引上表示那是一个字符,是char(character字符)类型的。