盒模型(框模型)是网页布局的基础,每一个元素都被表示为一个矩形的方框。css
width
和height
设置内容框(content box)的宽度和高度。使用
min-width
、min-height
、max-width
、max-height
能够设置最大(小)宽度和高度,优势是当页面放大或缩小时,内容框会自动适应页面。html
padding
表示css框的内边距。border
表示css框的边界,也就是边框。border-width
、border-color
分别设置边框的厚度和颜色。margin
表示css框的外边距。块级元素的上外边距和下外边距有时会合并(折叠)为一个外边距,其大小取其中最大者。web
使用
overflow: hidden;
能够避免外边距合并,可是不建议这样作。建议加padding。布局
box-sizing
属性用于更改用于计算元素宽度和高度的默认的CSS盒子模型。spa
content-box
:默认值,标准盒模型。width和height只包括内容的宽高。border-box
:IE盒模型。width和height包括内容、内边距和边框。(若是想要使一个框占窗口的50%可使用border-box
)display
属性指定用于元素的呈现框的类型3d
block
(块框):定义为堆放在其余框上的框(例如:其内容会独占一行),能够设置它的宽高。inline
(行内框):与块框是相反的,它随着文档的文字(例如:它将会和周围的文字和其余行内元素出如今同一行,并且它的内容会像一段中的文字同样随着文字部分的流动而打乱),对行内盒设置宽高无效。inline-block
(行内块状框):像是上述两种的集合:它不会从新另起一行但会像行内框同样随着周围文字而流动,它可以设置宽高,而且像块框同样保持了其块特性的完整性,它不会在段落行中断开。(在下面的示例中,行内块状框会放在第二行文本上,由于第一行没有足够的空间,而且不会突破两行。然而,若是没有足够的空间,行内框会在多条线上断裂,而它会失去一个框的形状。)overflow:当你使用绝对的值设置了一个框的大小(如,固定像素的宽/高),容许的大小可能不适合放置内容,这种状况下内容会从盒子溢流。咱们使用overflow
属性来控制这种状况的发生。code
auto
:当内容过多,溢流的内容被隐藏,而后出现滚动条来让咱们滚动查看全部的内容。hidden
:当内容过多,溢流的内容被隐藏。visible
:默认值,当内容过多,溢流的内容被显示在盒子的外边。单行文字
white-space: nowrap
:文本内的换行符无效(使文字显示在一行)cdn
text-overflow: ellipsis: //多出的文本变为省略号
overflow: hidden;
复制代码
多行文字htm
div{
display: -webkit-box;
-webkit-line-clamp: 2;//第几行省略
-webkit-box-orient: vertical;
}
复制代码
若是想要使[姓名]和[联系方式]两端对齐,呈现这样的效果:blog
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
span{
display: inline-block;
width: 4em;
text-align: justify;
}
span::after{
content: '';
display: inline-block;
width: 100%;
}
</style>
</head>
<body>
<div>
<span>姓名</span><br/>
<span>联系方式</span>
</div>
</body>
</html>
复制代码
文档流:文档内元素流动的方向。
word-break: break-all
可以使其换行。(或者使用连字符-
)