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区别
块级元素 | 行内元素 |
---|---|
独占一行 | 占自身宽度 |
可以包含块级元素和行内元素 | 只能包含行内元素和文本 |
可以设置宽高,并且还是独占一行 | 不能设置宽高 |
margin\padding上下左右有效果 | margin\padding只有左右有效果,padding虽然视觉上纵向填充了,但是不占上下周边的位置 |
2.什么是 CSS 继承? 哪些属性能继承,哪些不能?
*继承是在父类元素中设置的属性,如果在子元素中没有默认值,那么子元素也会采用这种样式。
*可以继承:
所有元素可继承: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。~~~内联元素可继承字体排版相关属性(a标签加了href排除)
块状元素可继承:text-indent和text-align。
列表元素可继承(~~列表相关属性):list-style、list-style-type、list-style-position、list-style-image。
表格元素可继承:border-collapse。
*不能继承:盒子模型相关的(margin border padding height width min-height max-height min-width max-width) 显示相关属性 (display,overflow) 定位属性(position left top right bottom z-index float clear vertical-align table-layout)
3.如何让块级元素水平居中?如何让行内元素水平居中?
块级元素水平居中:1.定位 2.margin:0 auto; 3.flex
行内元素水平居中:text-align:center;
4.用 CSS 实现一个三角形
5.单行文本溢出加 ...如何实现?
6.px, em, rem 有什么区别
1.px:像素,比较稳定和精确。但是当改变了浏览器的缩放,Web页面布局会被打乱。
2.em:是一个相对值,值是不固定的,相对于父元素的值,若未设置则相对于浏览器的默认字体尺寸。
*简化换算:任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。
*注意:避免字体大小的重复声明,比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em
3. rem:rem是css3新增的一个相对单位(root em,根em),相对的只是HTML根元素,优势在于既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。
7.解释下面代码的作用?为什么要加引号? 字体里\5b8b\4f53代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
12px:字体大小12像素; 1.5:字体大小的1.5倍行高,12px的1.5倍行高为18px; 剩余的为字体,字体可在tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif 这些字体中选择(若都不存在,则为浏览器默认字体)
当有空格或者Unicode码时,需要加引号
\5b8b\4f53是字体的Unicode码,表示宋体(控制台查Unicode码,escape("宋体"),%换成\)