HTML元素类型
HTML元素又分为块级元素(block-level)、行内元素(inline-level)。
块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
block-level:
div h1~h6 p form ul ol li table th tr td dd dt hr pre
inline-level:
em strong span a img br button input label select textarea code script
特性区别:
- 块级元素包含块级和行内,行内元素只能包含文本和行内。
- 块级元素占据一整行的空间。行内元素只占据自身宽度空间,多个行内元素可以并排排列。
- 块级元素可以设置宽度和高度,而行内元素不能设置宽度和高度。
- 块级元素可以设置内外边距padding、margin。而行内元素不可设置上下padding、margin,只对左右padding、margin有效。(若加上边框、背景色,行内元素的高度可以撑开,但本身的高度并没有实质变化。)
什么是 CSS 继承? 哪些属性能继承,哪些不能?
继承就是父元素的样式传递到了子元素上。
不可继承元素:
display、margin、padding、borde、background、height、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。
字体系列元素可继承:
font、 font-family、font-size、font-weight、font-style、font-variant
文本系列元素可继承:
letter-spacing、word-spacing、white-space、line-height、
color、text- decoration、text-transform、direction。
块状元素可继承:
text-indent和text-align
列表元素可继承:
list-style、list-style-type、list-style-position、list-style-image
表格元素可继承:border-collapse。
如何让块级元素水平居中?如何让行内元素水平居中?
在父元素为块级元素的基础上
子元素为块级元素:margin: 0 auto;
子元素为行内元素:text-align: center;
用 CSS 实现一个三角形
思路:
建立一个盒模型、设置宽高、设置上下左右边框的粗细、类型、颜色
将宽高都设置为0
将上下左右任意三个边框的颜色设为透明transparent
代码:
单行文本溢出加 ...如何实现?
思路:
- 设置文本不换行 white-space: nowrap;
- 溢出部分隐藏 overflow: hidden;
- 设置
...
代替文本溢出部分 text-overflow: ellipsis;
代码:
px, em, rem 有什么区别
- px:固定单位 像素px是相对于显示器屏幕分辨率而言的。
- em:相对单位 相对于父元素的字体大小。
- rem:相对单位 相对于HTML根元素字体大小。
解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
- body里的字体大小为12px,行高为12*1.5px,字体按照
tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
的优先级展示。 -
'Hiragino Sans GB'
字体名的中间含有空格。 -
\5b8b\4f53
表示Unicode编码的宋体。