块级元素和行内元素的特性区别
块级元素包括:
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 input label select textarea
code script
他们的特性区别主要有:
- 块级元素会独占一行,默认情况下,其宽度自动填满其父元素宽度。
- 行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化。
- 块级元素可以设置width,height属性。
- 行内元素设置width,height属性无效,它的长度高度主要根据内容决定.
- 块级元素即使设置了宽度,仍然是独占一行。
- 块级元素可以设置 margin 和 padding 属性。
- 行内元素的 margin 和 padding 属性,水平方向的 padding-left, padding-right, margin-left, margin-right 都产生边距效果,但竖直方向的 padding-top, padding-bottom, margin-top, margin-bottom 却不会产生边距效果。
CSS 继承
CSS 继承指的是,特定的 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。
水平居中
块级元素水平居中可以通过设置 margin 属性为 margin: 0 auto;
来实现;
行内元素水平居中可以设置属性 text-align: center;
来实现。
用 CSS 实现一个三角形
可以通过如下代码实现:
{
width: 0;
height: 0;
border-top: 30px solid blue transparent;
border-right: 30px solid blue transparent;
border-bottom: 30px solid blue;
border-left: 30px solid blue transparent;
}
将元素宽高设为 0 ,然后根据需求设置边框宽度,将其中三个边框设为透明,剩下的一边就是一个三角形。
单行文本溢出加 ...
的 CSS 实现
{
white-space: no-wrap; /* 文本超出部分不换行 */
overflow: hidden; /* 将超出部分隐藏 */
text-overflow: ellipsis; /* 将超出部分显示为 "..."*/
}
px, em, rem 的区别
px:
px 实际上就是像素,用 px 设置字体大小时,比较稳定和精确。但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的 Web 页面时,如果改变了浏览器的缩放,这时会使用我们的 Web 页面布局被破坏。
em:
em 就是根据基准来缩放字体的大小。em 实质是一个相对值,而非具体的数值。em是相对于父元素的属性而计算的。
rem:
rem 是相对于根元素 <html>,这样就意味着,我们只需要在根元素确定一个参考值。
【注】版权归 Lucifer 所有,转载请联系作者。
网友评论