css常用属性
css常用属性
display
用于设置元素的显示方式,有以下几种:
block
:块级元素,元素会被显示为块级元素,此时width
、height
、margin
、padding
属性都可以生效inline
:行内元素,元素会被显示为行内元素,此时width
、height
、margin
、padding
属性都不可以生效inline-block
:行内块级元素,元素会被显示为行内元素,但是其内容会作为块级元素呈现,此时width
、height
、margin
、padding
属性都可以生效none
:元素会被隐藏,此时width
、height
、margin
、padding
属性都不可以生效
用法:display: [block|inline|inline-block|none];
display:flex
用于设置元素的弹性盒子布局,有以下几种:
flex-direction
:设置元素的主轴方向flex-wrap
:设置元素的换行方式flex-flow
:设置元素的主轴方向和换行方式justify-content
:设置元素在主轴上的对齐方式align-items
:设置元素在交叉轴上的对齐方式align-content
:设置多根轴线的对齐方式
flex-direction
row
:默认值,主轴为水平方向,起点在左端row-reverse
:主轴为水平方向,起点在右端column
:主轴为垂直方向,起点在上沿column-reverse
:主轴为垂直方向,起点在下沿
flex-wrap
nowrap
:默认值,不换行wrap
:换行,第一行在上方wrap-reverse
:换行,第一行在下方
justify-content
flex-start
:默认值,左对齐flex-end
:右对齐center
:居中space-between
:两端对齐,项目之间的间隔都相等space-around
:每个项目两侧的间隔相等,所以,项目之间的间隔比项目与边框的间隔大一倍
align-items
flex-start
:交叉轴的起点对齐flex-end
:交叉轴的终点对齐center
:交叉轴的中点对齐baseline
:项目的第一行文字的基线对齐stretch
:默认值,如果项目未设置高度或设为auto,将占满整个容器的高度
align-content
flex-start
:与交叉轴的起点对齐flex-end
:与交叉轴的终点对齐center
:与交叉轴的中点对齐space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布space-around
:每根轴线两侧的间隔都相等,所以,轴线之间的间隔比轴线与边框的间隔大一倍stretch
:默认值,轴线占满整个交叉轴
flex
用于设置元素的弹性盒子布局,有以下几种:
flex-grow
:设置元素的放大比例flex-shrink
:设置元素的缩小比例flex-basis
:设置元素的基准值
组合元素用法:flex: [grow] [shrink] [basis];
z-index
用于设置元素的堆叠顺序,数值越大,越靠上面。
用法:z-index: [int];
position
用于设置元素的定位方式,有以下几种:
static
:默认值,元素遵循正常的文档流relative
:相对定位,元素相对于其正常位置进行定位absolute
:绝对定位,元素相对于其最近的非static定位祖先元素进行定位fixed
:固定定位,元素相对于浏览器窗口进行定位(用于导航栏,右下角小图标之类的)sticky
:粘性定位,元素根据正常文档流进行定位,然后相对于其最近的滚动祖先和包含块(由transform
或perspective
属性创建的祖先除外)进行偏移。如果没有滚动祖先,那么它就是相对于初始包含块进行定位的。当元素在屏幕中时,它表现为relative
,当元素在屏幕外时,它表现为fixed
。
用法:position: [static|relative|absolute|fixed|sticky];
top、right、bottom、left
用于设置元素的定位偏移量,有以下几种:
top
:设置元素的上偏移量right
:设置元素的右偏移量bottom
:设置元素的下偏移量left
:设置元素的左偏移量
用法:[top|right|bottom|left]: [int];
简写:inset = top right bottom left
inset: 10px; /* 应用于所有边 */
inset: 4px 8px; /* 上下 | 左右 */
inset: 5px 15px 10px; /* 上 | 左右 | 下 */
inset: 2.4em 3em 3em 3em; /* 上 | 右 | 下 | 左 */
transform
用于设置元素的变形方式,有以下几种:
translate
:平移scale
:缩放rotate
:旋转skew
:倾斜matrix
:矩阵变形
用法举例:transform: translate(100px, 100px);
该例子的效果为:元素向右下角平移100px
transition
用于设置元素的过渡效果,有以下几种:
transition-property
:设置过渡效果的属性transition-duration
:设置过渡效果的持续时间transition-timing-function
:设置过渡效果的速度曲线transition-delay
:设置过渡效果的延迟
组合元素用法:transition: [property] [duration] [timing-function] [delay];
border
用于设置元素的边框,有以下几种:
border-width
:设置边框的宽度border-style
:设置边框的样式border-color
:设置边框的颜色border-image
:设置边框的图片
组合元素用法:border: [width] [style] [color];
border-style
none
:默认值,无边框hidden
:与none
相同,但在边框绘制区域不裁剪内容dotted
:点状边框dashed
:虚线边框solid
:实线边框double
:双线边框groove
:3D凹槽边框,效果取决于边框颜色值ridge
:3D凸槽边框,效果取决于边框颜色值inset
:3D inset边框,效果取决于边框颜色值outset
:3D outset边框,效果取决于边框颜色值
border-radius
用于设置元素的边框圆角,有以下几种:
border-top-left-radius
:设置元素的左上角圆角border-top-right-radius
:设置元素的右上角圆角border-bottom-right-radius
:设置元素的右下角圆角border-bottom-left-radius
:设置元素的左下角圆角
组合元素用法:border-radius: [top-left] [top-right] [bottom-right] [bottom-left];
border-image
用于设置元素的边框图片,有以下几种:
border-image-source
:设置边框图片的路径border-image-slice
:设置边框图片的裁剪方式border-image-width
:设置边框图片的宽度border-image-outset
:设置边框图片的外边距border-image-repeat
:设置边框图片的重复方式
组合元素用法:border-image: [source] [slice] [width] [outset] [repeat];
border-image-slice
number
:设置边框图片的裁剪方式为固定值percentage
:设置边框图片的裁剪方式为百分比fill
:默认值,设置边框图片的裁剪方式为填充
border-image-repeat
stretch
:默认值,边框图片会被拉伸以适应边框区域repeat
:边框图片会被重复以填充边框区域round
:边框图片会被拉伸或缩小以填充边框区域space
:边框图片会被重复以填充边框区域,但是第一张图和最后一张图之间不会重复
box-sizing
用于设置元素的盒模型,有以下几种:
content-box
:默认值,元素的宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框border-box
:元素的宽度和高度分别应用到元素的边框盒。在宽度和高度之内绘制元素的内容和内边距
用法:box-sizing: [content-box|border-box];
box-shadow
用于设置元素的阴影,有以下几种:
h-shadow
:必需,水平阴影的位置,允许负值v-shadow
:必需,垂直阴影的位置,允许负值blur
:可选,模糊距离spread
:可选,阴影的尺寸color
:可选,阴影的颜色
组合元素用法:box-shadow: [h-shadow] [v-shadow] [blur] [spread] [color];
margin
用于设置元素的外边距,有以下几种:
margin-top
:设置元素的上外边距margin-right
:设置元素的右外边距margin-bottom
:设置元素的下外边距margin-left
:设置元素的左外边距
组合元素用法:margin: [top] [right] [bottom] [left];
缺省参数写法: margin: [top&bottom] [left&right];
padding
用于设置元素的内边距,有以下几种:
padding-top
:设置元素的上内边距padding-right
:设置元素的右内边距padding-bottom
:设置元素的下内边距padding-left
:设置元素的左内边距
组合元素用法:padding: [top] [right] [bottom] [left];
缺省参数写法: padding: [top&bottom] [left&right];
padding-inline
用于设置行内元素的内边距,有以下几种:
padding-inline-start
:设置元素的内联起始内边距padding-inline-end
:设置元素的内联结束内边距
组合元素用法:padding-inline: [start] [end];
padding-block
用于设置块级元素的内边距,有以下几种:
padding-block-start
:设置元素的块起始内边距padding-block-end
:设置元素的块结束内边距
background
用于设置元素的背景,有以下几种:
background-color
:设置元素的背景颜色background-image
:设置元素的背景图片background-repeat
:设置元素的背景图片是否重复background-position
:设置元素的背景图片的位置background-attachment
:设置元素的背景图片是否随元素滚动background-size
:设置元素的背景图片的尺寸
组合元素用法:background: [color] [image] [repeat] [attachment] [position] [size];
background-repeat
repeat
:默认值,背景图像将在垂直方向和水平方向重复repeat-x
:背景图像将在水平方向重复repeat-y
:背景图像将在垂直方向重复no-repeat
:背景图像将仅显示一次space
:背景图像将在垂直方向和水平方向重复,但是第一张图和最后一张图之间不会重复round
:背景图像将在垂直方向和水平方向重复,但是如果整数倍则会缩小背景图像的尺寸,直到它适合
background-attachment
scroll
:默认值,背景图像会随着页面其余部分的滚动而移动fixed
:当页面的其余部分滚动时,背景图像不会移动local
:背景图像会随着元素内容的滚动而移动
font
用于设置元素的字体,有以下几种:
font-style
:设置元素的字体样式font-variant
:设置元素的字体变体font-weight
:设置元素的字体粗细font-size
:设置元素的字体大小line-height
:设置元素的行高font-family
:设置元素的字体系列
组合元素用法:font: [style] [variant] [weight] [size/line-height] [family];
font-style
normal
:默认值,浏览器显示一个标准的字体样式italic
:浏览器会显示一个斜体的字体样式oblique
:浏览器会显示一个倾斜的字体样式
font-variant
normal
:默认值,浏览器会显示一个标准的字体small-caps
:浏览器会显示小型大写字母的字体
font-weight
normal
:默认值,定义标准的字符bold
:定义粗体字符bolder
:定义更粗的字符lighter
:定义更细的字符100
~900
:定义字符的粗细。400 等同于 normal,而 700 等同于 bold
text
用于设置元素的文本,有以下几种:
text-indent
:设置元素的文本缩进text-align
:设置元素的文本对齐方式text-decoration
:设置元素的文本修饰text-transform
:设置元素的文本转换text-shadow
:设置元素的文本阴影white-space
:设置元素的空白处理方式word-spacing
:设置元素的单词间距letter-spacing
:设置元素的字母间距word-break
:设置元素的单词换行方式word-wrap
:设置元素的单词换行方式
组合元素用法:text: [indent] [align] [decoration] [transform] [shadow];
text-align
left
:默认值,文本左对齐right
:文本右对齐center
:文本居中对齐justify
:文本两端对齐
text-decoration
none
:默认值,定义标准的文本underline
:定义文本下的一条线overline
:定义文本上的一条线line-through
:定义穿过文本下的一条线blink
:定义闪烁的文本
text-transform
none
:默认值,定义带有小写字母和大写字母的标准的文本capitalize
:定义只有每个单词的第一个字母带有大写字母的文本uppercase
:定义仅有大写字母的文本lowercase
:定义仅有小写字母的文本
white-space
normal
:默认值,空白会被浏览器忽略pre
:空白会被浏览器保留。其行为方式类似 HTML 中的<pre>
标签nowrap
:文本不会换行,文本会在在同一行上继续,直到遇到<br>
标签为止pre-wrap
:保留空白符序列,但是正常地进行换行pre-line
:合并空白符序列,但是保留换行符
word-break
normal
:默认值,使用浏览器默认的换行规则break-all
:允许在单词内换行keep-all
:只能在半角空格或连字符处换行
word-wrap
normal
:默认值,只在允许的断字点换行(浏览器保持默认处理)break-word
:在长单词或 URL 地址内部进行换行
overflow
用于设置元素的溢出处理方式,有以下几种:
overflow-x
:设置元素的水平溢出处理方式overflow-y
:设置元素的垂直溢出处理方式overflow
:设置元素的溢出处理方式
组合元素用法:overflow: [x] [y];
overflow
取值
visible
:默认值,内容不会被修剪,会呈现在元素框之外hidden
:内容会被修剪,并且其余内容是不可见的scroll
:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容auto
:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容
column
用于设置元素的多列布局,有以下几种:
column-count
:设置元素的列数column-gap
:设置元素的列间距column-rule
:设置元素的列边框 (宽度、样式、颜色)column-span
:设置元素的列跨度column-width
:设置元素的列宽度
组合元素用法:column: [count] [width];
white-space
用于设置元素的空白处理方式,有以下几种:
换行符 | 空格和制表符 | 文本换行 | 行末空格 | 行末的其他空白分隔符 | |
---|---|---|---|---|---|
normal | 合并 | 合并 | 换行 | 移除 | 挂起 |
nowrap | 合并 | 合并 | 不换行 | 移除 | 挂起 |
pre | 保留 | 保留 | 不换行 | 保留 | 不换行 |
pre-wrap | 保留 | 保留 | 换行 | 挂起 | 挂起 |
pre-line | 保留 | 合并 | 换行 | 移除 | 挂起 |
break-spaces | 保留 | 保留 | 换行 | 换行 | 换行 |
用法:white-space: [normal|nowrap|pre|pre-wrap|pre-line|break-spaces];
column-gap
用于设置元素的列间距,值为<length>
或<percentage>
,默认值为1em
。
column-rule
用于设置元素的列边框,有以下几种:
column-rule-width
:设置元素的列边框宽度column-rule-style
:设置元素的列边框样式column-rule-color
:设置元素的列边框颜色
组合元素用法:column-rule: [width] [style] [color];
column-span
用于设置元素的列跨度,有以下几种:
none
:默认值,元素不跨列all
:元素跨所有列
column-width
用于设置元素的列宽度,值为<length>
或<percentage>
,默认值为auto
。
column-fill
用于设置元素的列填充方式,有以下几种:
balance
:默认值,列高度会尽可能地平衡auto
:列高度会尽可能地平衡,但是会根据内容进行调整
row-gap
用于设置元素的行间距,值为<length>
或<percentage>
,默认值为normal
。