1. 块级元素和行内元素分别有哪些?动手测试并列出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
特性区别:
1.块级可以包含块级和行内,行内只能包含文本和行内
2.块级占据一整行空间,行内占据自身宽度空间
3.宽高只对块级元素设置生效,对行内元素设置无效
4.块级元素高度,行高以及外边距和内边距都可控制,行内元素行高及外边距和内边距部分可改变
2. 什么是 CSS 继承? 哪些属性能继承,哪些不能?
- 继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个body定义了的颜色值也会应用到段落的文本中。
-
不能继承的属性
1.display:规定元素应该生成的框的类型
2.文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向
3.盒子模型的属性:width、height、margin、border、border-style、border-width、border-color、padding
4.背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment
5.定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
6.生成内容属性:content、counter-reset、counter-increment
7.轮廓样式属性:outline-style、outline-width、outline-color、outline
8.页面样式属性:size、page-break-before、page-break-after
-
可以继承的属性
1.字体系列属性
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
2.文本系列属性
text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
3.元素可见性:visibility
4.表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
5.列表布局属性:list-style-type、list-style-image、list-style-position、list-style
3. 如何让块级元素水平居中?如何让行内元素水平居中?
块级元素水平居中:css样式为margin:0 auto
行内元素水平居中:css样式为text-align:center
4. 用 CSS 实现一个三角形
先用如下代码实现如下图所示的:
<div class="t0"> </div>
<style> .t0{ height:20px; width:20px; border-top:solid 20px red; border-left:solid 20px green; border-right:solid 20px orange; border-bottom:solid 20px blue; } </style>
再将css样式改为如下:
height:0;
width:0;
使内容区大小为零,效果为:
再将左右下的三角形颜色变为透明即可:
border-top:solid 20px red;
border-left:solid 20px transparent;
border-right:solid 20px transparent;
border-bottom:solid 20px transparent;
效果如下:
5. 单行文本溢出加 ...如何实现?
添加css样式
white-space: nowrap;
规定段落中的文本不进行换行
overflow: hidden;
溢出内容隐藏
text-overflow: ellipsis;
当文本溢出时显示省略标记...
6. px, em, rem 有什么区别?
px: 固定像素单位
em: 相对单位,相对于父元素字体大小
rem: 相对单位,相对于根元素(html)字体大小
7. 解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{ font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif; }
这是css中font的简写写法。
字体:字体大小/字体行高 字体格式。
- tahoma:大河马字体
- arial:是一套随同多套微软应用软件所分发的无衬线体TrueType字型
- sans-serif:表示是无衬线字体,是一种通用字体族。
- 'Hiragino Sans GB':冬*青黑体字体(简繁结合的一款字体)
- "\5b8b\4f53″ 就是 “宋体”。用 unicode 表示。
tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif
css表中某一元素可能需要同时应用多个字体以保证兼容性,多个字体之间应加英文模式下的逗号。
'Hiragino Sans GB'字体名称为英文但是名称有多个单词组成,中间包含空格。