CSS稍稍入门
2017-11-13 本文已影响0人
头大如牛
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 kbd
区别
- 块级元素默认会占据一整行,默认情况下其宽度自动填满父元素的宽度;
行内元素不会独占一行,相邻的行内元素会排列在同一行知道排不下为止。 - 块级元素可以包含块级元素和行内元素,行内元素只能包含行内元素和文本
- 块级元素可以设置width和height,行内元素设置无效。
- 块级元素默认:display:block;行内元素默认:dipslay:inline;
- 对于margin和padding属性,块级元素会产生上下左右的内外边距效果。行内元素左右会产生边距效果,上下不会产生。
2. 什么是 CSS 继承? 哪些属性能继承,哪些不能?
CSS继承:继承就是子标签继承了上级标签的CSS样式的属性。
- 能继承的属性: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水平居中;
- 行内元素水平居中:1. 先用display:block将行内元素转换为块级元素,然后设置元素的宽度,再用margin: 0 auto控制水平居中。或者用text-align: center;
4. 用 CSS 实现一个三角形
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>triangle</title>
</head>
<body>
<div class="triangle">
</div>
</body>
<style>
.triangle
{
width:0;
height:0;
border-top:20px solid transparent;
border-bottom:20px solid red;
border-right:20px solid transparent;
border-left:20px solid transparent;
}
</style>
</html>
5. 单行文本溢出加 ...如何实现?
在相应的文字上,加如下样式
.card > h3{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
6. px, em, rem 有什么区别
- px: 绝对/固定单位,浏览器默认文字大小为16px ;
- em: 相对单位,表示当前字体大小是父容器字体大小的多少倍;
- rem:相对单位,表示当前字体大小是根元素(html)字体大小的多少倍 ;
7. 解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
- Hiragino Sans GB之间有空格,所有要加上引号,避免被浏览器读取为多个字体名称
- 代码设置了body里面的字体样式,字体大小12px,字体行高为字体的1.5倍,然后设置了5种字体,按先后顺序匹配已有的字体来使用。
- 字体里\5b8b\4f53代表宋体,是把中文的“宋体”转化为了Unicode编码。