必备前端基础知识-第二节2:CSS属性

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了必备前端基础知识-第二节2:CSS属性相关的知识,希望对你有一定的参考价值。

文章目录

一:CSS属性一览表

W3C:元素属性

A

align-content规定弹性容器内的行之间的对齐方式,当项目不使用所有可用空间时。
align-items规定弹性容器内项目的对齐方式。
align-self规定弹性容器内所选项目的对齐方式。
all重置所有属性(除了 unicode-bidi 和 direction)。
animation所有 animation-* 属性的简写属性。
animation-delay规定开始动画的延迟。
animation-direction规定动画是向前播放、向后播放还是交替播放。
animation-duration规定动画完成一个周期应花费的时间。
animation-fill-mode规定元素在不播放动画时(在开始之前、结束之后、或同时)的样式。
animation-iteration-count规定动画的播放次数。
animation-name规定 @keyframes 动画的名称。
animation-play-state规定动画是播放还是暂停。
animation-timing-function规定动画的速度曲线。

B

backface-visibility定义当面对用户时元素的背面是否应可见。
background所有 background-* 属性的简写属性。
background-attachment设置背景图像是与页面的其余部分一起滚动还是固定的。
background-blend-mode规定每个背景图层(颜色/图像)的混合模式。
background-clip定义背景(颜色或图像)应在元素内延伸的距离。
background-color规定元素的背景色。
background-image规定元素的一幅或多幅背景图像。
background-origin规定背景图像的初始位置。
background-position规定背景图像的位置。
background-repeat设置是否以及如何重复背景图像。
background-size规定背景图像的尺寸。
borderborder-width、border-style 以及 border-color 的简写属性。
border-bottomborder-bottom-width、border-bottom-style 以及 border-bottom-color 的简写属性。
border-bottom-color设置下边框的颜色。
border-bottom-left-radius定义左下角的边框圆角。
border-bottom-right-radius定义右下角的边框圆角。
border-bottom-style设置下边框的样式。
border-bottom-width设置下边框的宽度。
border-collapse设置表格边框是折叠为单一边框还是分开的。
border-color设置四条边框的颜色。
border-imageborder-image-* 属性的简写属性。
border-image-outset规定边框图像区域超出边框的量。
border-image-repeat规定边框图像应重复、圆角、还是拉伸。
border-image-slice规定如何裁切边框图像。
border-image-source规定用作边框的图像的路径。
border-image-width规定边框图像的宽度。
border-left所有 border-left-* 属性的简写属性。
border-left-color设置左边框的颜色。
border-left-style设置左边框的样式。
border-left-width设置左边框的宽度。
border-radius四个 border-*-radius 属性的简写属性。
border-right所有 border-right-* 属性的简写属性。
border-right-color设置右边框的颜色。
border-right-style设置右边框的样式。
border-right-width设置右边框的宽度。
border-spacing设置相邻单元格边框之间的距离。
border-style设置四条边框的样式。
border-topborder-top-width、border-top-style 以及 border-top-color 的简写属性。
border-top-color设置上边框的颜色。
border-top-left-radius定义左上角的边框圆角。
border-top-right-radius定义右上角的边框圆角。
border-top-style设置上边框的样式。
border-top-width设置上边框的宽度。
border-width设置四条边框的宽度。
bottom设置元素相对于其父元素底部的位置。
box-decoration-break设置元素在分页符处的背景和边框的行为,或对于行内元素在换行符处的行为。
box-shadow将一个或多个阴影附加到元素。
box-sizing定义元素的宽度和高度的计算方式:它们是否应包含内边距和边框。
break-after规定指定元素之后是否应出现 page-、column- 或 region-break。
break-before规定指定元素之前是否应出现 page-、column- 或 region-break。
break-inside规定指定元素内部是否应出现 page-、column- 或 region-break。

C

caption-side规定表格标题的放置方式。
caret-color规定光标在 input、textarea 或任何可编辑元素中的颜色。
@charset规定样式表中使用的字符编码。
clear规定不允许在元素的哪一侧浮动元素
clip剪裁绝对定位的元素。
clip-path将元素裁剪为基本形状或 SVG 源。
color设置文本的颜色。
column-count规定元素应分为的列数。
column-fill指定如何填充列(是否 balanced)。
column-gap规定列间隙。
column-rule所有 column-rule-* 属性的简写属性。
column-rule-color规定列之间规则的颜色。
column-rule-style规定列之间的规则样式。
column-rule-width规定列之间的规则宽度。
column-span规定元素应该跨越多少列。
column-width规定列宽度。
columnscolumn-width 和 column-count 的简写属性。
content与 :before 和 :after 伪元素一起使用,来插入生成的内容。
counter-increment增加或减少一个或多个 CSS 计数器的值。
counter-reset创建或重置一个或多个 CSS 计数器。
cursor规定当指向元素时要显示的鼠标光标。

D

direction规定文本方向/书写方向。
display规定如何显示某个 html 元素。

E

empty-cells规定是否在表格中的空白单元格上显示边框和背景。

F

filter定义元素显示之前的效果(例如,模糊或颜色偏移)。
flexflex-grow、flex-shrink 以及 flex-basis 的简写属性。
flex-basis规定弹性项目的初始长度。
flex-direction规定弹性项目的方向。
flex-flowflex-direction 和 flex-wrap 的简写属性。
flex-grow规定项目相对于其余项目的增量。
flex-shrink规定项目相对于其余项目的减量。
flex-wrap规定弹性项目是否应该换行。
float规定是否应该对盒(box)进行浮动。
fontfont-style、font-variant、font-weight、font-size/line-height 以及 font-family 的简写属性。
@font-face允许网站下载和使用 “web-safe” 字体以外的其他字体的规则。
font-family规定文本的字体族(字体系列)。
font-feature-settings允许控制 OpenType 字体中的高级印刷特性。
@font-feature-values允许创作者使用 font-variant-alternate 中的通用名来实现在 OpenType 中以不同方式激活的特性。
font-kerning控制字距调整信息的使用(字母间距)。
font-language-override控制特定语言的字形在字体的使用。
font-size规定文本的字体大小。
font-size-adjust保持发生字体回退时的可读性。
font-stretch从字体系列中选择一个普通的、压缩的或扩展的字体。
font-style规定文本的字体样式。
font-synthesis控制哪些缺失的字体(粗体或斜体)可以由浏览器合成。
font-variant规定是否应该以小型大写字体显示文本。
font-variant-alternates控制与 @font-feature-values 中定义的备用名称关联的备用字形的使用。
font-variant-caps控制大写字母的备用字形的使用。
font-variant-east-asian控制东亚文字(例如中文和日语)的备用字形的使用。
font-variant-ligatures控制在适用于元素的文本内容中使用哪些连字和上下文形式。
font-variant-numeric控制数字、分数和序号标记的备用字形的使用。
font-variant-position控制较小字体的替代字形的使用,这些字形相对于字体基线定位为上标或下标。
font-weight规定字体的粗细。

G

gridgrid-template-rows、grid-template-columns、grid-template-areas、grid-auto-rows、grid-auto-columns 以及 grid-auto-flow 属性的简写属性。
grid-area即可规定网格项的名称,也可以是 grid-row-start、grid-column-start、grid-row-end 以及 grid-column-end 属性的简写属性。
grid-auto-columns规定默认的列尺寸。
grid-auto-flow规定如何在网格中插入自动放置的项目。
grid-auto-rows规定默认的行尺寸。
grid-columngrid-column-start 和 grid-column-end 属性的简写属性。
grid-column-end规定如何结束网格项目。
grid-column-gap规定列间隙的尺寸。
grid-column-start规定网格项目从何处开始。
grid-gapgrid-row-gap 和 grid-column-gap 的简写属性。
grid-rowgrid-row-start 和 grid-row-end 属性的简写属性。
grid-row-end规定网格项目在何处结束。
grid-row-gap规定列间隙的尺寸。
grid-row-start规定网格项目从何处开始。
grid-templategrid-template-rows、grid-template-columns 以及 grid-areas 属性的简写属性。
grid-template-areas规定如何使用命名的网格项显示列和行。
grid-template-columns指定列的尺寸以及网格布局中的列数。
grid-template-rows指定网格布局中的行的尺寸。

H

hanging-punctuation规定是否可以在行框外放置标点符号。
height设置元素的高度。
hyphens设置如何分割单词以改善段落的布局。

I

image-rendering当图像被缩放时,向浏览器提供关于保留图像的哪些最重要的方面的信息。
@import允许您将样式表导入另一张样式表。
isolation定义元素是否必须创建新的堆叠内容。

J

justify-content规定项目在弹性容器内的对齐方式,当项目未用到所有可用空间时。

K

@keyframes规定动画代码。

L

left规定定位元素的左侧位置。
letter-spacing增加或减少文本中的字符间距。
line-break如何如何/是否换行。
line-height设置行高。
list-style在一条声明中设置所有列表属性。
list-style-image把图像指定为列表项标记。
list-style-position规定列表项标记的位置。
list-style-type规定列表项标记的类型。

M

margin在一条声明中设置所有外边距属性。
margin-bottom设置元素的下外边距。
margin-left设置元素的左外边距。
margin-right设置元素的右外边距。
margin-top设置元素的上外边距。
mask通过在特定位置遮罩或剪切图像来隐藏元素。
mask-type规定将遮罩元素用作亮度或 Alpha 遮罩。
max-height设置元素的最大高度。
max-width设置元素的最大宽度。
@media为不同的媒体类型、设备、尺寸设置样式规则。
min-height设置元素的最小高度。
min-width设置元素的最小宽度。
mix-blend-mode规定元素内容应如何与其直接父的背景相混合。

O

object-fit规定替换元素的内容应如何适合其所用高度和宽度建立的框。
object-position指定替换元素在其框内的对齐方式。
opacity设置元素的不透明等级。
order设置弹性项目相对于其余项目的顺序。
orphans设置在元素内发生分页时必须保留在页面底部的最小行数。
outlineoutline-width、outline-style 以及 outline-color 属性的简写属性。
outline-color设置轮廓的颜色。
outline-offset对轮廓进行偏移,并将其绘制到边框边缘之外。
outline-style设置轮廓的样式。
outline-width设置轮廓的宽度。
overflow规定如果内容溢出元素框会发生什么情况。
overflow-wrap规定浏览器是否可能为了防止溢出而在单词内折行(当字符串太长而无法适应其包含框时)。
overflow-x规定是否剪裁内容的左右边缘,如果它溢出了元素的内容区域。
overflow-y规定是否剪裁内容的上下边缘,如果它溢出了元素的内容区域。

P

padding所有 padding-* 属性的简写属性。
padding-bottom设置元素的下内边距。
padding-left设置元素的左内边距。
padding-right设置元素的右内边距。
padding-top设置元素的上内边距。
page-break-after设置元素之后的分页(page-break)行为。
page-break-before设置元素之前的分页(page-break)行为。
page-break-inside设置元素内的分页(page-break)行为。
perspective为 3D 定位元素提供透视。
perspective-origin定义用户观看 3D 定位元素的位置。
pointer-events定义元素是否对指针事件做出反应。
position规定用于元素的定位方法的类型(静态、相对、绝对或固定)。

Q

quotes设置引号类型。

R

resize定义用户是否以及如何调整元素的尺寸。
right规定定位元素的左侧位置。

S

scroll-behavior规定可滚动框中是否平滑地滚动,而不是直接跳跃。

T

tab-size规定制表符的宽度。
table-layout定义用于对单元格、行和列进行布局的算法。
text-align规定文本的水平对齐方式。
text-align-last描述当 text-align 为 “justify” 时,如何在强制换行之前对齐块或行的最后一行。
text-combine-upright将多个字符组合到到单个字符的空间中。
text-decoration规定文本装饰。
text-decoration-color规定文本装饰(text-decoration)的颜色。
text-decoration-line规定文本装饰(text-decoration)中的的行类型。
text-decoration-style规定文本装饰(text-decoration)中的行样式。
text-indent规定文本块(text-block)中的的首行缩进。
text-justify规定当 text-align 为 “justify” 时使用的对齐方法。
text-orientation定义行中的文本方向。
text-overflow规定当文本溢出包含元素时应该发生的情况。
text-shadow添加文本阴影。
text-transform控制文本的大写。
text-underline-position规定使用 text-decoration 属性设置的下划线的位置。
top规定定位元素的顶端位置。
transform向元素应用 2D 或 3D 转换。
transform-origin允许您更改转换元素的位置。
transform-style规定如何在 3D 空间中渲染嵌套的元素。
transition所有 transition-* 属性的简写属性。
transition-delay规定合适开始过渡效果。
transition-duration规定完成过渡效果所需的秒或毫秒数。
transition-property规定过渡效果对应的 CSS 属性的名称。
transition-timing-function规定过渡效果的速度曲线。

U

unicode-bidi与 direction 属性一起使用,设置或返回是否应覆写文本来支持同一文档中的多种语言。
user-select规定是否能选取元素的文本。

V

vertical-align设置元素的垂直对齐方式。
visibility规定元素是否可见。

W

white-space规定如何处理元素内的空白字符。
widows设置如果元素内发生分页,必须在页面顶部保留的最小行数。
width设置元素的宽度。
word-break规定单词到达行末后如何换行。
word-spacing增加或减少文本中的单词间距。
word-wrap允许长的、不能折行的单词换到下一行。
writing-mode规定文本行是水平还是垂直布局。

Z

z-index设置定位元素的堆叠顺序。

二:常用属性详解

(1)字体属性

字体类型:利用font-fmaily设置使用哪种字体,例如“楷体”、“宋体”等等。注意

  • 字体的名称可以使用中文(但是不建议)
  • 多个字体之间使用,分隔,此时浏览器会从左向右依次检查系统是否存在这种字体,如果所列字体都没有,将会使用默认字体(Chrome默认字体为微软雅黑)
  • 如果字体名有空格,需要使用引号包裹住
  • 为了保证兼容性,建议使用常用字体
<p id="english">this is english font-family</p>  
<p id="chinese1">这是中文字体1</p>  
<p id="chinese2">这是中文字体2</p>
#english   
    font-family: Consolas;  
  
  
#chinese1   
    font-family: 方正准圆简体;  
  
  
#chinese2   
    font-family: 字魂109号-方格习字体;  

字体大小:利用font-weight设置字体显示的大小。注意

  • 单位是px
  • 由于不同浏览器默认字体大小是不一样的,所以最好给定一个明确各执,其中Chrome是16px
  • 可以对body标签使用font-size进行统一设定,注意标题标签要单独指定大小
<p>测试文字</p>
p   
    font-size: 25px;  

字体粗细:利用font-weight设置字体的粗细。注意

  • 可以使用数字表示粗细,取值范围为[100, 900]
  • 也可以使用normalboldlighterbolder进行设定
  • 其中700表示bold,400是normal
<p>测试文字</p>
p   
    font-size: 25px;  
    font-weight: 700;  

字体样式:利用font-style设置字体样式。其取值含义如下

  • normal:显示标准字体样式

  • italic:显示一个斜体的字体样式

    • 注意italic是字体自带的斜体属性,oblique是使字体向右倾斜。但是,并不是所有字体都具有斜体的样式,对于那些没有斜体样式的字体来说,使用italic是没有效果的,此时就可以利用oblique代替italic来实现字体倾斜的效果
  • oblique:显示一个倾斜的字体样式

<p id="normal">标准字体样式</p>  
<p id="italic">斜体字体样式</p>  
<p id="oblique">倾斜字体样式</p>
#italic   
    font-style: italic;  
  
  
#oblique   
    font-style: oblique;  

(2)文本属性

文本颜色:使用color可以设置文本的显示颜色,主要有如下三种写法

  • 预定义颜色值:例如color: red
  • 十六进制形式:例如color: #ff0000
  • 使用RGB:例如color: rbg(255, 0, 0)
<p id="one">测试文字1</p>  
<p id="two">测试文字2</p>  
<p id="three">测试文字3</p>
#one   
   color: green;  
  
 
#two   
   color: #008800;  
  
 
#three   
   color: rgb(0, 128, 0);  

文本对齐:使用text-align控制文字(也能控制图片等其他元素)在水平方向的对齐。其取值含义如下

  • center:居中对齐
  • left:左对齐
  • right:右对齐
<p id="one">居中</p>  
<p id="two">左对齐</p>  
<p id="three">右对齐</p>
#one   
    text-align: center;  
  
  
#two   
    text-align: left;  
      
  
#three   
    text-align: right;  

文本装饰:使用text-decoration对文字进行装饰。其权值含义如下

  • underline:下划线
  • none:什么都没有
  • overline:上划线
  • line-through:删除线
<p id="one">下划线</p>  
<p id="two">上划线</p>  
<p id="three">删除线</p>
#one   
    text-decoration: underline;  
  
  
#two   
    text-decoration: overline;  
  
  
#three   
    text-decoration: line-through;  

文本缩进:使用text-indent控制段落的首行缩进。注意

  • 单位可以使用px或者em,但使用em更好,因为1个em就是当前元素的文字大小
  • 如果其值为负数,那么表示向左缩进
<p id="one">正常缩进</p>  
<p id="two">向左缩进</p>
#one   
    text-indent: 2em;  
  
  
#two   
    text-indent: -2em;  

行高:在HTML中展示文字时会设置如下四个基准线

  • 顶线
  • 中线
  • 基线
  • 底线

如下,文字将会被包裹在由顶线和底线所围成的深灰色区域

而行高指的是文字本身的大小+上边距(该行文字顶线距上一行文字底线的距离)+下边距()该行文字底线距下一行文字顶线的距离,CSS中可以使用line-height设置行高

<p>测试文字1</p>  
<p>测试文字2</p>  
<p>测试文字3</p>
p   
    font-size: 16px;  
    line-height: 40px;  

(3)背景属性

背景颜色:使用background-color可以设置背景颜色

<div class="bgc">  
    <div class="one">红色背景</div>  
    <div class="two">绿色背景</div>  
    <div class="three">透明背景</div>  
</div>
  
.bgc .one   
    background-color: red;  
  
  
.bgc .two   
    background-color: #0f0;  
  
  
.bgc .three   
    background-color: transparent;  

背景图片:使用background-image可以设置背景图片

  • 注意:背景颜色和背景图片可以同时存在,背景图片在背景颜色上方
<div></div>
div   
    width: 1200px;  
    height: 1200px;  
    background-image: url(./air.png);  

背景平铺:使用background-repeat设置背景图片的平铺方式,其取值含义如下

  • repeat:平铺(默认值,如上图)
  • no-repeat:不平铺
  • repeat-x:水平平铺
  • repeat-y:垂直平铺
div   
    width: 1200px;  
    height: 1200px;  
    background-image: url(./air.png);  
    background-repeat: no-repeat;  

背景位置:可以使用background-position修改图片的位置,有如下三种设置方式

  • 方位名词(top, left, right- bottom)
  • 精确单位(坐标x, 坐标y)

需要注意的是,浏览器中的坐标系是下面这样的,左下角为坐标原点

同时注意

  • 如果只指定了一个方位名词,那么第二个默认会居中(left为水平居中,top为垂直居中)
  • 如果只给定了x,那么y会垂直居中
div   
    width: 500px;  
    height: 500px;  
    background-image: url(./air.png);  
    background-repeat: no-repeat;  
    background-color: blue;  
    background-position: center;  

背景尺寸:使用background-size设置图片的尺寸大小,有如下三种设置方式

  • 具体数值
  • 百分比:此时参照父元素的尺寸大小进行设置
  • cover:使背景图片扩展至足够大,让其完全覆盖背景区域,此时背景图片的部分内容也许无法显示出来
  • contain:使背景图片扩展至最大尺寸,让其能完整显示

下图体现了cover(上)和contain(下)的区别

以上是关于必备前端基础知识-第二节2:CSS属性的主要内容,如果未能解决你的问题,请参考以下文章

必备前端基础知识-第二节1:CSS概述和选择器

必备前端基础知识-第二节3:CSS盒模型和浮动

Web前端开发笔记——第三章 CSS语言 第二节 CSS选择器

CSS面试题总结 - 基础知识总结 - 复习专用 - 前端面试必备 - 吐血整理

EasyClick Html UI 第十二节CSS 元素溢出

前端三件套——CSS基础网页开发必备知识