块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别?
- 块级元素
div h1 h2 h3 h4 h5 h6 p hr form ul dl ol pre table li dd dt tr td th - 行内元素
em strong span a br img button iput label select textarea code script -
行内元素使用width,height无效果
- 块级可以包含块级和行内,行内只能包含文本和行内
-
块级占据一整行空间,行内占据自身宽度空间
-
你可以给行内元素设置padding,但只有padding-left和padding-right生效。
-
margin属性也是和padding属性一样,对行内元素左右有效,上下无效。
什么是 CSS 继承? 哪些属性能继承,哪些不能?
- 不可继承的: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。
表格元素可继承:border-collapse。 - 总结一下:
基本上描述文本的css都是可以继承的
如何让块级元素水平居中?如何让行内元素水平居中?
- 块元素居中:
必须要设置块元素的宽高才能然他居中
比如让一个div块居中
div{
width: 200px;
margin: 0 auto;
}
- 行内元素 :
给他父元素加个下面属性就实现了
text-align:center;
用 CSS 实现一个三角形
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>triangle</title>
<style>
.triangle{
height: 0;//元素里面如果没有内容这个可以省略
width: 0;
border-top:solid 20px red;
border-left:solid 20px transparent;
border-right:solid 20px transparent;
border-bottom:solid 20px transparent;
}
</style>
</head>
<body>
<div class="triangle"></div>
</body>
</html>
效果如下:
单行文本溢出加 ...如何实现?
white-space: nowrap; 用于文本不换行
overflow: hidden; 用于隐藏超出边界的文本
text-overflow: ellipsis; 将超出边界的文本转化成...
px, em, rem 有什么区别
- px是是固定的像素单位,如10px就是10像素大
- em是相对于父元素字体大小的比例,比如1.5em就是指父元素的1.5倍
- rem是相对于根元素字体大小(html)的比例
解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
font: 12px/1.5是指设置字体大小为12px,行高为1.5倍;
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
- font: 12px/1.5是指设置字体大小为12px,行高为1.5倍
- tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif都是字体,其中字体名字为中文的需要转换为Unicode编码让浏览器能解析,如果字体名称是多个字符组成的需要用引号包起来,因为浏览器解析是按一个字符一种字体来解析的
- 然后字体是按照从左到右的优先级查找的,先查找到哪个字体在浏览器或操作系统里,就展示哪个。