块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
块级元素:
1 | div , h1-6 , p , form, ul, li , ol, dl, dd , dt , tr , td, th, form, address, hr, menu, table |
行内元素:
1 | a, span, strong, em, br, img , input, button , label, select, textarea, code , script |
特性区别:
块级元素会独占一行,默认情况下,其宽度自动填满其父元素宽度.
行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化.
块级(block-level); 行内(内联、inline-level)
块级可以包含块级和行内,行内只能包含文本和行内
块级占据一整行空间,行内占据自身宽度空间
宽高设置、内外边距的差异
另外
- 只对块级元素设置生效,对行内元素设置无效
块级元素可以设置width,height属性.
行内元素设置width,height属性无效,它的长度高度主要根据内容决定.- 块级元素即使设置了宽度,仍然是独占一行.
- 块级元素可以设置margin和padding属性.
- 行内元素的margin和padding属性,水平方向(左右)产生边距效果,但竖直方向(上下)却不会产生边距效果.
- 块级元素对应于display:block.
- 行内元素对应于display:inline.
什么是 CSS 继承? 哪些属性能继承,哪些不能?
所谓css的继承是指被包在内部的标签将拥有外部标签的样式性质。它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。
一、无继承性的属性
display:规定元素应该生成的框的类型
文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向盒子模型的属性: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
- 背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment
- 定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
- 生成内容属性:content、counter-reset、counter-increment
- 轮廓样式属性:outline-style、outline-width、outline-color、outline
- 页面样式属性:size、page-break-before、page-break-after
- 声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
二、有继承性的属性
字体系列属性
1
2
3
4
5
6
7
8font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。文本系列属性
1
2
3
4
5
6
7
8text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色元素可见性:visibility
- 表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
- 列表布局属性:list-style-type、list-style-image、list-style-position、list-style
- 生成内容属性:quotes
- 光标属性:cursor
- 页面样式属性:page、page-break-inside、windows、orphans
- 声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
三、所有元素可以继承的属性
- 元素可见性:visibility
- 光标属性:cursor
四、内联元素可以继承的属性
- 字体系列属性
- 除text-indent、text-align之外的文本系列属性
五、块级元素可以继承的属
- text-indent、text-align
小技巧
如何让块级元素水平居中?如何让行内元素水平居中?
行内元素元素水平居中:text-align:center
块级元素水平居中:margin左右设置为auto
用 CSS 实现一个三角形
充分利用边框的作用
单行文本溢出加 …如何实现?
1 | white-space: nowrap; |
px, em, rem 有什么区别
px: 固定单位
em: 相对单位,相对于父元素字体大小
rem: 相对单位,相对于根元素(html)字体大小
vw vh: 相对单位,1vw 为屏幕宽度的1% 兼容性
解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
1 | body{ |
设置body内字体的样式:
- 12px/1.5:字体大小为12px,行高为字体大小的1.5倍
- tahoma,arial,’Hiragino Sans GB’,’\5b8b\4f53’,sans-serif:分别是指不同的字体,每个逗号分隔开一个字体;’Hiragino Sans GB’加引号是因为这款字体的名字中间有空格,需要加引号分辨出示一款字体的名字,而不是多款字体;’\5b8b\4f53’是十六进制的表达方式,多数用在表示中文字体上,5b8b表示“宋”字,4f53表示“体”字。