CSS基础

一。【border 边框】 通过此属性可以指定元素边框的样式,宽度和颜色

1.1 border-style属性可以指定要显示的边框类型 允许以下值:

dotted 定义点线边框
dashed 定义虚线边框
solid 定义实线边框
double 定义双边框
groove 定义3d坡口边框,效果取决于border-color值
ridge 定义3d脊线边框, 效果取决于border-color值
inset 定义3dinset边框, 效果取决于border-color值
outset 定义outset边框, 效果取决于border-color值
none 定义无边框
hidden 定义隐藏边框
border-style 属性可以设置一到四个值(用于上边框、右边框、下边框和左边框)。
还有一些属性可用于指定每个边框(顶部、右侧、底部和左侧):
border-top-style: dotted;
border-right-style: solid;
border-bottom-style: dotted;
border-left-style: solid;

1.2 border-width 属性指定四个边框的宽度:
可以将宽度设置为特点的大小(以px pt cm em 计)也可以使用以下三个预定义值之一:thin medium 或 thick
border-width 属性可以设置一到四个值(用于上边框、右边框、下边框和左边框)。

1.3 border-color 属性用于设置四个边框的颜色
name - 指定颜色名,比如 "red"
HEX - 指定十六进制值,比如 "#ff0000"
RGB - 指定 RGB 值,比如 "rgb(255,0,0)"
HSL - 指定 HSL 值,比如 "hsl(0, 100%, 50%)"

1.4 为了缩减代码,也可以在一个属性中指定所有单独的边框属性。
border-width
border-style(必需)
border-color

1.5 圆角边框
border-radius 属性用于向元素添加圆角边框
border-radius: 5px; 值越大圆角越园


二。【margin 外边距】 可以简写为margin:25px 50px 75px 100px 分别为上右下左
还有单独属性设置,margin-top right bottom left

* 外边框合并 指得是当两个垂直外边距相遇时,他们将形成一个外边距,外边距的大小等于两者较大的值

三。【padding 内边距】 内边距属性用于在任何定义的边界内的元素周围生成空间 设置方式和margin一样,单位分别为length/px pt cm等单位 % 百分比的内边距 ;inherit 从父元素继承内边距。

* 【height和width 高度和宽度】 用于设置元素的高度和宽度,height和width属性不包括内边距,边框和外边距,它设置的是元素内边距,变宽以及外边距内的区域的高度和宽度 ;max-width 属性用于设置元素的最大宽度,当浏览器宽度小于此值时,浏览器会将水平滚动条添加到页面。在这种情况下,使用 max-width 能够改善浏览器对小窗口的处理。


* 【框模型 所有 HTML 元素都可以视为方框】 

CSS 框模型实质上是一个包围每个 HTML 元素的框。它包括:外边距、边框、内边距以及实际的内容。下图展示了框模型:

 CSS基础

 对不同部分的说明:

  • 内容 - 框的内容,其中显示文本和图像。
  • 内边距 - 清除内容周围的区域。内边距是透明的。
  • 边框 - 围绕内边距和内容的边框。
  • 外边距 - 清除边界外的区域。外边距是透明的。

框模型允许我们在元素周围添加边框,并定义元素之间的空间

元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素

提示:背景应用于由内容和内边距、边框组成的区域

内边距、边框和外边距都是可选的,默认值是零。但是,许多元素将由用户代理样式表设置外边距和内边距。可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式

在 CSS 中,width 和 height 指的是内容区域的宽度和高度增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

四。轮廓

  • outline-style
  • outline-color
  • outline-width
  • outline-offset
  • outline

注意:轮廓与边框不同!不同之处在于:轮廓是在元素边框之外绘制的,并且可能与其他内容重叠。同样,轮廓也不是元素尺寸的一部分;元素的总宽度和高度不受轮廓线宽度的影响。

注意:除非设置了 outline-style 属性,否则其他轮廓属性(在下一章中将详细介绍)都不会有任何作用!

outline-style 属性指定轮廓的样式,并可设置如下值:

  • dotted - 定义点状的轮廓。
  • dashed - 定义虚线的轮廓。
  • solid - 定义实线的轮廓。
  • double - 定义双线的轮廓。
  • groove - 定义 3D 凹槽轮廓。
  • ridge - 定义 3D 凸槽轮廓。
  • inset - 定义 3D 凹边轮廓。
  • outset - 定义 3D 凸边轮廓。
  • none - 定义无轮廓。
  • hidden - 定义隐藏的轮廓。

CSS 轮廓宽度 

outline-width 属性指定轮廓的宽度,并可设置如下值之一:

  • thin(通常为 1px)
  • medium(通常为 3px)
  • thick (通常为 5px)
  • 特定尺寸(以 px、pt、cm、em 计)

outline-color 属性用于设置轮廓的颜色。

可以通过以下方式设置颜色:

  • name - 指定颜色名,比如 "red"
  • HEX - 指定十六进制值,比如 "#ff0000"
  • RGB - 指定 RGB 值,比如 "rgb(255,0,0)"
  • HSL - 指定 HSL 值,比如 "hsl(0, 100%, 50%)"
  • invert - 执行颜色反转(确保轮廓可见,无论是什么颜色背景)

CSS Outline - 简写属性

outline 属性是用于设置以下各个轮廓属性的简写属性:

  • outline-width
  • outline-style(必需)
  • outline-color

CSS 轮廓偏移

outline-offset 属性在元素的轮廓与边框之间添加空间。元素及其轮廓之间的空间是透明的。

文本颜色

color 属性用于设置文本的颜色。颜色由以下值指定:

  • 颜色名 - 比如 "red"
  • 十六进制值 - 比如 "#ff0000"
  • RGB 值 - 比如 "rgb(255,0,0)"

文本颜色和背景色

在本例中,我们定义了 background-color 属性和 color 属性

文本对齐

text-align 属性用于设置文本的水平对齐方式。

文本可以左对齐或右对齐,或居中对齐。

text-align: center left right

当 text-align 属性设置为 "justify" 后,将拉伸每一行,以使每一行具有相等的宽度,并且左右边距是直的(就像在杂志和报纸中)

文本方向

direction 和 unicode-bidi 属性可用于更改元素的文本方向: 类似文本翻转

文本垂直对齐

vertical-align 属性设置元素的垂直对齐方式。居中对齐还是居上或居下

 

文字装饰

text-decoration 属性用于设置或删除文本装饰。

text-decoration: none; 通常用于从链接上删除下划线:这样可以显示没有下划线的连接

text-decoration: overline; 文本上面出现下划线
text-decoration: line-through;文本贯穿一个线
text-decoration: underline;下面的出现下划线

文本转换

text-transform 属性用于指定文本中的大写和小写字母。

它可用于将所有内容转换为大写或小写字母,或将每个单词的首字母大写:

text-transform: uppercase;
lowercase;
capitalize;

文字缩进

text-indent 属性用于指定文本第一行的缩进

  text-indent: 50px;

字母间距

letter-spacing 属性用于指定文本中字符之间的间距 可以为负值

行高

line-height 属性用于指定行之间的间距:1~*小数

字间距

word-spacing 属性用于指定文本中单词之间的间距。 单位px  可以为负值

空白

white-space 属性指定元素内部空白的处理方式。禁用元素内的文本换行

文本阴影

text-shadow 属性为文本添加阴影。

最简单的用法是只指定水平阴影(2px)和垂直阴影(2px):接下来,向阴影添加颜色(红色):然后,向阴影添加模糊效果(5px):

text-shadow: 2px 2px 5px red;

通用字体族

在 CSS 中,有五个通用字体族:

  • 衬线字体(Serif)- 在每个字母的边缘都有一个小的笔触。它们营造出一种形式感和优雅感。
  • 无衬线字体(Sans-serif)- 字体线条简洁(没有小笔画)。它们营造出现代而简约的外观。
  • 等宽字体(Monospace)- 这里所有字母都有相同的固定宽度。它们创造出机械式的外观。
  • 草书字体(Cursive)- 模仿了人类的笔迹。
  • 幻想字体(Fantasy)- 是装饰性/俏皮的字体。

所有不同的字体名称都属于这五个通用字体系列之一。

CSS font-family 属性

在 CSS 中,我们使用 font-family 属性规定文本的字体。

font-family 属性应包含多个字体名称作为“后备”系统,以确保浏览器/操作系统之间的最大兼容性。请以您需要的字体开始,并以通用系列结束(如果没有其他可用字体,则让浏览器选择通用系列中的相似字体)。字体名称应以逗号分隔。

注释:如果字体名称不止一个单词,则必须用引号引起来,例如:"Times New Roman"。

字体样式

font-style 属性主要用于指定斜体文本。

此属性可设置三个值:

  • normal - 文字正常显示
  • italic - 文本以斜体显示
  • oblique - 文本为“倾斜”(倾斜与斜体非常相似,但支持较少)

字体样式

font-style 属性主要用于指定斜体文本。

此属性可设置三个值:

  • normal - 文字正常显示
  • italic - 文本以斜体显示
  • oblique - 文本为“倾斜”(倾斜与斜体非常相似,但支持较少)

字体粗细

font-weight 属性指定字体的粗细:

font-weight: normal; lighter bold 900

字体变体

font-variant 属性指定是否以 small-caps 字体(小型大写字母)显示文本。

在 small-caps 字体中,所有小写字母都将转换为大写字母。但是,转换后的大写字母的字体大小小于文本中原始大写字母的字体大小。

字体大小

font-size 属性设置文本的大小。

字体属性

为了缩短代码,也可以在一个属性中指定所有单个字体属性。

font 属性是以下属性的简写属性:

  • font-style
  • font-variant
  • font-weight
  • font-size/line-height
  • font-family

HTML 列表和 CSS 列表属性

在 HTML 中,列表主要有两种类型:

  • 无序列表(<ul>)- 列表项用的是项目符号标记
  • 有序列表(<ol>)- 列表项用的是数字或字母标记
list-style-type 属性指定列表项标记的类型。
list-style-type: circle;
 list-style-type: square;
 list-style-type: upper-roman;
  list-style-type: lower-alpha;

图像作为列表项标记

list-style-image 属性将图像指定为列表项标记:

"list-style-position: outside;" 表示项目符号点将在列表项之外。列表项每行的开头将垂直对齐。这是默认的:

"list-style-position: inside;" 表示项目符号将在列表项内。由于它是列表项的一部分,因此它将成为文本的一部分,并在开头推开文本:

列表 - 简写属性

list-style 属性是一种简写属性。它用于在一条声明中设置所有列表属性:

在使用简写属性时,属性值的顺序为:

  • list-style-type(如果指定了 list-style-image,那么在由于某种原因而无法显示图像时,会显示这个属性的值)
  • list-style-position(指定列表项标记应显示在内容流的内部还是外部)
  • list-style-image(将图像指定为列表项标记)

如果缺少上述属性值之一,则将插入缺失属性的默认值(如果有)。

background属性可以设置一个元素的背景样式,当然前提是这个元素有具体的宽高值

语法格式:

  background: color position size repeat origin clip attachment image;

所以backgroud这个属性不是单纯设置颜色,而是集成了几个属性

color:背景颜色值。这个属性会把整个元素添加颜色,而且处于最底层(在有背景图片的情况下就可以看出)。

 background-color: blue;可选值:默认是透明

2.position:背景图片的定位。如果没有图片设置,那么这个属性不起效果。

  可选值:两个参数,水平位置和垂直位置。如果只有一个值,第二个值为“center”。

  默认值是元素的左上顶角。可以使用位置关键字(top,right,bottom,left,center)。百分比(以元素大小为基值)。像素值。

size:图片尺寸。应用于图片。

  可选值:两个数值,如果只有一个值,第二个值为auto。

  默认是图片自身大小。可以使用像素值,百分百(以元素大小为基值)。

  cover:等比例缩放图片,覆盖这个元素。类似与windows中桌面背景的“填充”。

  contain:等比例缩放图片,适应元素的宽或者高。类似于windows中桌面背景的“适应”。

4.repeat:平铺方式。

    repeat:完全平铺,复制图片把整个元素填满。(默认)

    repeat-x:水平平铺,在水平方向复制并平铺。

    repeat-y:垂直平铺,在垂直方向复制并平铺。

    no-repeat:不平铺,只使用一张图片。

   5.origin:背景的参考区域。

   可选值:border-box,padding-box,content-box。

   6.clip:背景的可视区域。

   可选值:border-box,padding-box,content-box。

表格

某些情况下,表格看起来很小,可以设置width:100% 来达到填充表格铺满水平界面的目的

合并表格边框

border-collapse 属性设置是否将表格边框折叠为单一边框:

设置表格边框属性

对table直接设置border属性实际上设置的只是外边框,即只是让表格的四周有边框,而内部是没有的,这是因为表格的行和列都有自己的边框,要单独给td th设置border属性

width和hight 是table td 和th都有的属性,如果要创建仅占页面一半的表格,设置table的width:50%

水平对齐

text-align 属性设置 <th> 或 <td> 中内容的水平对齐方式(左、右或居中)。

默认情况下,<th> 元素的内容居中对齐,而 <td> 元素的内容左对齐。

要使 <td> 元素的内容也居中对齐,请使用 text-align: center:

垂直对齐

vertical-align 属性设置 <th> 或 <td> 中内容的垂直对齐方式(上、下或居中)。

默认情况下,表中内容的垂直对齐是居中(<th> 和 <td> 元素都是)。

表格内边距

如需控制边框和表格内容之间的间距,请在 <td> 和 <th> 元素上使用 padding 属性:设置padding可以加大或者减少 表格内容和内边框之间的距离

向 <th> 和 <td> 添加 border-bottom 属性,以实现水平分隔线:

border-bottom: 1px solid #ddd; 其实就是在添加了此属性的行或者列,在没有设置border的情况下,单独给下边框设置border。

可悬停表格

在 <tr> 元素上使用 :hover 选择器,以突出显示鼠标悬停时的表格行:

tr:hover {background-color: #f5f5f5;}

为了实现斑马纹表格效果,请使用 nth-child() 选择器,并为所有偶数(或奇数)表行添加 background-color:

tr:nth-child(even) {background-color: #f2f2f2;}


下面可以设置行的背景颜色和字体颜色
th {
  background-color: #4CAF50;
  color: white;
}

响应式表格

如果屏幕太小而无法显示全部内容,则响应式表格会显示水平滚动条:在 <table> 元素周围添加带有 overflow-x:auto 的容器元素(例如 <div>),以实现响应式效果:


<div style="overflow-x:auto;">

<table>
... table content ...
</table>

</div>