1. 块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
- 块级元素(block-level):
div h1 h2 h3 h4 h5 h6 p hr
form ul dl ol pre table
li dd dt tr td th - 行内元素 (内联元素,inline-level):
em strong span a br img
button input label select textarea
code script
区别:
- 块级元素课包含块级元素和行内元素,而行内元素只能包含行内元素;
- 块级元素会占据一整行的空间,而行内元素占据的只是自身的宽度空间;
- 宽高只对块级元素的设置生效,对行内元素无效;
- 边距对于块级元素上下右左都有效,而对行内元素左右生效,上下不生效;
- 块级元素总是在新行上开始,而行内元素和其他元素都在一行;
块级元素和行内元素可以通过display方法相互转换,块元素默认display:block;行内非替换元素(a,span)默认为display:inline;行内替换元素(input)默认为display:inline-block;
display:none:不显示该元素,也不会保留该元素原先占有的文档流位置;
display:block:转换为块级元素;
display:inline:转换为行内元素;’
display:inline-block:转换为行内块级元素。
float(inline-block化)
把当前行内元素设置完float:left/right后,该行元素的display属性会被赋予block值,且拥有浮动特性。行内元素去除了之间的莫名空白。position(inline-block化)
当为行内元素进行定位时,position:absolute与position:fixed都会使得原先的行内元素变成会计元素。
2. 什么是 CSS 继承? 哪些属性能继承,哪些不能?
CSS继承就是子元素继承了父元素的CSS样式的属性。
- 能继承的属性:
字体:
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。文本:
text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色列表:
list-style-type
list-style-image
list-style-position
list-style颜色:color(a标签不能继承父元素的字体颜色,因为a标签有自己默认的字体颜色,会覆盖掉继承来的颜色)
- 不能被继承的属性
- display
- 盒子模型属性
盒子模型的属性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left - 定位属性:
float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
如何让块级元素水平居中?
margin:0px auto;
如何让行内元素水平居中?
text-align:center;
用 CSS 实现一个三角形
单行文本溢出加 ...如何实现?
溢出不换行:white-space: nowrap;
溢出隐藏:overflow:hidden;
在后面填充...:text-overflow:ellipsis;
px, em, rem 有什么区别
- px 像素点,固定单位
- em 相对父元素的大小,相对单位
- rem 相对根元素(html)的大小,相对单位
解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
字体大小设置为12px,行高为1.5倍字体大小,按顺序检索tahoma,arial,"Hiragino Sans GB','\5b8b\4f53',sans-serif,有则显示,没有则
默认。
因为字母之间有空格,避免歧义,所以要加上引号。
\5b8b\4f53代表宋体(Unicode码)