1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
- 块级元素:div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table
- 行内元素:span, strong, em, br, img , input, label, select, textarea, cite
- 区别:
- 块级元素宽单独占据整行,行内元素宽高是内容的宽高
- 块级元素可以设置宽高,行内元素不能设置宽高
- 块级元素可以设定margin、padding,行内元素margin、padding不能设置top、bottom
- 块级元素可以放置行内元素、文字,行内元素只能放置行内元素和文字
- 块级元素和行内元素某些属性值不同,如:margin:0 auto、text-align
2.什么是 CSS 继承? 哪些属性能继承,哪些不能?
- css继承:设置父级元素,其子级元素的样式会和父级元素一样。
-
能继承的元素:
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
6、生成内容属性:quotes
7、光标属性:cursor
8、页面样式属性:page、page-break-inside、windows、orphans
9、声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
-
不能继承:
1、display:规定元素应该生成的框的类型
2、文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向
3、盒子模型的属性: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
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
9、声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
3.如何让块级元素水平居中?如何让行内元素水平居中?
- 块级元素水平居中:设置宽高后添加属性margin:0 auto
- 行内元素水平居中:text-align:center
4.用 CSS 实现一个三角形
5.单行文本溢出加 ...如何实现?
p {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
6.px, em, rem 有什么区别
- PX实际上就是像素,用PX设置字体大小时,比较稳定和精确。但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,如果改变了浏览器的缩放,这时会使用我们的Web页面布局被打破。这样对于那些关心自己网站可用性的用户来说,就是一个大问题了。因此,这时就提出了使用“em”来定义Web页面的字体。
- EM:
EM就是根据父元素来缩放字体大小,如果父元素没有设置字体大小,将根据body的值进行缩放,EM是一个相对值。
Rem: - EM是相对于其父元素来设置字体大小的,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而Rem是相对于根元素(HTML标签),这样就意味着,我们只需要在根元素确定一个参考值。
7.为什么要加引号,字体里的数字符号表示什么?
- 因为字符中间有空格,如果不加引号,将内识别为两个字符
- 数字符号是所属字体的unicode编码,可以在浏览器控制台输入escape('黑体')查询对对应的编码,把%u替换为
\
8.代码
- 合并边框:border-collapse:collapse
边框距离:border-spacing:0
放在table标签属性
- 有个外边距塌陷问题,解决办法:添加这三个属性padding、border、overflow:hidden其中一个。