整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CSS 类型(type)、背景(background)

reamweaver的CSS面板分类

type(类型)

background(背景)

block(区块)

box(方框) 或盒子意思

border(边框)

list(列表)

positioning(定位)

extensions(扩展)

共八个部分

1. type(类型)

type面板主要是对文字的字体,大小,颜色,效果等基本样式进行设置。

注意:属性名带*号的是指样式效果不能在编辑文档时显示,要用浏览器打开才能看到效果。

(1)font-family:设置字体系列。什么叫字体系列呢?是指对文字设定几个字体,当遇到第一个字体不能显示的文字时会自动用系列中的第二个

字体或后面的字体显示。

注意:一般英文字体我们用"Verdana, Arial, Helvetica, sans-serif"这个系列比较好看。如果不用这些字体系列,你就需要自己编辑字体系列,

也可以直接手动在下拉框里写字体名,字体之间用逗号隔开。中文网页默认字体是宋体, 一般就空着不要选取任何字体。

默认值: not specified(取决于浏览器,系统默认的字体, 如: 微软雅黑)


注意:

1.如果有汉字, 那么我们要加引号

2.如果有多个英文字母组成的单词, 我们也要加引号; "microsoft yahei" 中间用空格隔开

3.font-family:"黑体","宋体","华文隶书"; 首先找黑体, 没有黑体找宋体...

为了避免在CSS中使用 font 或 font-family 设置中文字体时乱码, 可以使用 Unicode 编码来表示字体。

/* 示例:使用Unicode字体编码设置字体为"微软雅黑" */
font-family: "\5FAE\8F6F\96C5\9ED1";


(2)font-size:定义文字的大小。你可以通过选取数字和度量单位来选择具体的字体大小,或者你也可以选择一个相对的字体大小。

最好使用pixels作为单位,这样不会在浏览器中文本变形。一般字体用比较标准的12px或14px, 默认值为16px。

注意:CSS中长度的单位分绝对长度单位和相对长度单位:

绝对长度单位有:

pt:磅(point)

mm、cn、in、pc:(毫米、厘米、英寸、活字)根据显示的实际尺寸来确定长度。

此类单位不随显示器的分辨率改变而改变。

相对长度单位有:

px:(像素)根据显示器的分辨率来确定长度。

em:当前文本的尺寸。例如:{font-size:2em}是指文字大小为原来的2倍。

比如自身font-size: 30px; 那么此时1em=30px;

ex:当前字母"x"的高度,一般为字体尺寸的一半。

%:是以当前文本的百分比定义尺寸。例如:{ font-size:300%}是指文字大小为原来的3倍。

small、large:表示比当前小一个级别或大一个级别的尺寸。

默认值:medium(标准大小)


(3)font-style:定义字体样式为normal、italic、oblique。默认设置为normal。

注意: italic 斜体 oblique 歪斜体 italic和oblique实际效果是一样的。

默认值:normal


(4)line-height:设置文本所在行的行高。默认为normal。可以是行内元素、行内块元素, 通常与height设置的高度值相同, 可以做到垂直居中的作用。

你也可以自己键入一个精确的数值并选取一个计量单位。

比较直观的写法用百分比, 例如140%是指行高等于文字大小的1.4倍。

最常用的方法: line-height:1.5em; /*行间距,相对数值,1.5倍行距,*/ 可有效的避免文字发生重叠

默认值: normal


(5)text-decoration:在文本中添加underline(下划线)、overline(上划线)、line-through(中划线)、blink(闪烁效果)。

这些效果可以同时存在,将效果前的复选框选定即可。

注意:链接的默认设置是underline,我们可以通过选none去除下划线。blink(闪烁效果)只在mozilla浏览器里可以看到, IE、opera不支持

默认值: none


(6)font-weight:给字体指定粗体字的磅值。

normal 默认值。定义标准的字符。

bold 定义粗体字符。

bolder 定义更粗的字符。

lighter 定义更细的字符。

100

200

300

400

500

600

700

800

900

inherit 规定应该从父元素继承字体的粗细。

定义由粗到细的字符。400 等同于 normal, 而 700 等同于 bold。

默认值: normal


(7)font-variant:允许你选取字体的变种, 选small-caps(小型大写字母)时, 此样式区域内所有字母大写。

normal表示正常的字体, 为默认值;

默认值: normal


(8)text-transform:将选区中每个单词的第一个字母转为大写, 或者令单词全部大写或全部小写。

参数:capitalize(单词首字母大写)、uppercase(转换成大写)、lowercase(转换成小写)、none(不转换)。

默认值:none


(9)color:定义文字颜色。包括对表单输入的文字颜色。

CSS中颜色的值有三种表示方法:

#RRGGBB格式,是由红绿蓝三种颜色的值组合,每种颜色的值为"00 – FF"的两位十六进制正整数。

例如:#FF0000表示红色,#FFFF00表示黄色。

rgb(R,G,B)格式, RGB为三色的值, 取0~255, 例如:rgb(255,0,0)表示红色, rgb(255,255,0)表示黄色。

用颜色名称。CSS可以使用已经定义好的颜色名称。例如:red表示红色, yellow表示黄色。

颜色值的缩写:

p{color:#000000} 可以缩写为:p{color:#000}

p{color:#336699} 可以缩写为:p{color:#369}

默认值: not specified


color: transparent; 透明色


rgba() 解释: rgba(红0-255, 绿0-255, 蓝0-255, 透明度0-1)


注意: 如果文字的颜色通过单独的类选择去设置没有改变颜色, 则应该通过组合选择器(.header .top .topR .blue)去设置, 改变它的优先级。




2. background(背景)

background面板主要是对元素的背景进行设置,包括背景颜色、背景图象、背景图象的控制。

一般是对body(页面)、table(表格)、div(区域)的设置。

(1)background-color:设置元素的背景色。包括对input表单输入框的背景颜色;

默认值: transparent(背景颜色为透明)


rgba() 解释: rgba(红0-255, 绿0-255, 蓝0-255, 透明度0-1) 一般用于背景色


(2)background-image:设置元素的背景图像。

默认值:none

CSS3支持多重背景图,只要加上一个url指定图片路径,并用逗号(,)将两组url分隔就可以了

background-image:url(a.jpg),url(b.jpg);


base64使用

background-image: url("data:image/png;base64,iVBORw0KGgo=...");


(3)background-repeat:确定背景图像是否以及如何重复。

repeat 默认值。背景图像将在垂直方向和水平方向重复。

repeat-x 背景图像将在水平方向重复。

repeat-y 背景图像将在垂直方向重复。

no-repeat 背景图像将仅显示一次。

inherit 规定应该从父元素继承background-repeat属性的设置。

注意:如果定义的元素的body,可以控制页面背景是否重复。

默认值: repeat


(4)background-attachment:固定背景图像或者跟随内容滚动。

参数fixed表示固定背景(不随屏幕滚动而滚动,决定背景图像是否要固定在原来的位置), scroll表示跟随内容滚动的背景。

注意:如果定义的元素的body, 可以使页面背景固定。

默认值: scroll


(5)background-position(X):指定背景图像的水平位置。

可以指定为left(左边), center(居中),right(右边);

也可以指定数值,如20px是指背景距离左边20象素。

background-position(Y):指定背景图像的垂直位置。

可以指定为top(顶部), center(居中), bottom(底部);也可以指定数值。

background-position属性值:

left top

center top

right top

left center

center center

right center

left bottom

center bottom

right bottom

如果您仅规定了一个关键词,那么第二个值将是"center"。

注意:采用英文单词的水平位置和垂直位置的属性值可以调换

x% y% 第一个值是水平位置,第二个值是垂直位置。左上角是 0% 0%。右下角是 100% 100%。如果您仅规定了一个值,另一个值将是 50%。

xpos ypos 第一个值是水平位置,第二个值是垂直位置。左上角是 0 0。单位是像素 (0px 0px) 或任何其他的 CSS 单位。

如果您仅规定了一个值,另一个值将是50%。

您可以混合使用 % 和 position 值。

默认值:0% 0%

德经第二十二章中有一句是说“少则得,多则惑”,这句话的意思是:少取则真得,贪多则反而导致自身的混乱。结合我亲身经历,更容易理解这句话的意思。

有一段时间,我们天都学习10个小时,这种情况一直持续了大半个月。可是效果却几乎等于没有,这段时间内每天都会有大量的信息涌入你的脑袋,在学的那一刻,你感觉你已经完全会了。但是过个一两天,你却完全不记得你到底学过些什么,像失忆了似的。


艾宾浩斯记忆曲线也告诉我们,大脑的记忆是一个缓慢的过程,想要对某一知识记忆深刻,就需要不断地重复练习。直到随时随地拿来就用的地步,你就再也不会忘记了。

为什么说少则得,多则惑呢?每天只学一点,练习好几遍,把这个知识点刻到脑子里面去,这样日积月累你会发现你已经学会了很多。每天学习很多知识点,很少时间去练习,过段时间你会发现你什么都没有记住,到用的时候根本想不起来,还得返回头再去学习一遍。徒增学习成本,也就是多则惑的道理。


好了言归正传,今天我们来学习html中的表格和表单,这两个可不是一个东西哦。

表格:excel表格知道吧,横行竖起列的那种表格。看图:


上面是一个9行2列的表格,在html里面也有这种表格,我们来使用html的table表格标签来实现一个5行3列的表格。



上图中table标签表示这是一个表格,tr表示一行,图中我写了五行,都用红圈标注了出来,每个tr里面又包含着td,td表示列,第1行里面有3列,第2、3、4、5行每行里面都有3列。


在浏览器中的效果:

和我们想象中的样子好像有点不一样,没有格子,这是因为我们没有设置的缘故,table标签允许你通过border属性来设置边框(也就是格子),那我们来给它设置一个边框吧。


通过给table标签添加border="1",就可以让表格有边框了,来看看浏览器中的效果:

还是有点别扭,我脑海里面的表格应该是和艾宾浩斯记忆曲线的那张表格一样才对啊,现在的这个表格有点镂空的感觉,第1行的第1列和第1行的第2列,也就是“关羽”、“男”之前有距离,如何把这个距离去掉呢?我们可以通过table标签的cellspacing属性把距离去掉,试一下:

加了cellspacing="0" 属性后,浏览器中的效果如下:

当然了, table标签的cellspacing属性的不光可以等于0,还可以等于其他值,比如我们就是希望有距离,那么我们设置成20试一下:


浏览器中的效果:

cellspacing属性的值应该取多少,按照你的需求来设置就好了。


现在还有一个问题,我觉得每个单元格的太小了,也就是“关羽”这个格子的边框和“关羽”这两个字贴得太紧了,一点都不好看,我们可以让他稍微有点距离,那样看起来应该比较美观一点。这个需求可以通过table标签的cellpadding属性来设置,其实也就是设置内边距,关于内边距的概念我们在《踏上编程之路的必经之路之html篇三》中讲解过,如果忘记的同学可以返回去看一下。

我们将cellpadding设置为10,在浏览器中的效果如下:

现在整个表格感觉是竖起来的,能不能让他感觉是横着呢?table标签允许你调整它的宽度,只要宽度够了,感觉起来自然就是横的了。我们通过table标签的width属性来调整表格的宽度:

调整表格的宽度为600,浏览器中的效果如下:


表格中的文字现在是左对齐,也就是靠近单元格的左边,我们可以让它居中,或者靠右对齐(右对齐),文字的对齐方式可以通过tr标签的align属性来控制:



注意文字对齐方式,是给tr标签(也就是table的行标签)设置了align属性,不是给table,不要写错地方了。align="center"就是让文字居中,align="right"就是让文字右对齐,如果不写,默认是左对齐。


设置了文字对齐方式后,浏览器中的效果如下:


最我们整体调整一下,我需要有边框(border="1",设置为0就是没有边框),单元格之间不要距离(cellspacing="0",设置成其它值就是有距离),内边距需要5(cellpadding="5"),表格宽度需要400(width="400"),文字统一都是居中对齐(table标签的tr标签上面设置align="center"),整体设置后的代码如下:



浏览器中的效果如下:


其实table标签也有一个align属性,它可以让整表格在浏览器中的居中、靠左或者靠右对齐,有兴趣的同学可以自己尝试一下。



最后提醒一句,代码中的各种标签和标签的属性还有单双引号,都必须是英文的,如果你写成中文的,是不正确的。

举个例子:




良好的行动力,是成功的一半,动手练起来。

.定位

  • 定位是一种更加高级的布局手段
    • 通过定位可以将元素摆放到页面 - 使用position属性来设置定位可选值:
    • static 默认值,元素是静止的没有开启定位
    • relative 开启元素的相对定位
    • absolute 开启元素的绝对定位
    • fixed 开启元素的固定定位
    • sticky 开启元素的粘滞定位
    • 通过定位可以将元素摆放到页面的任意位置

1.1 相对定位

  • 当元素的position属性值设置为relative时则开启了元素的相对定位
  • 相对定位的特点:
    • 1.元素开启相对定位以后,如果不设置偏移量元素不会发生任何的变化
    • 2.相对定位是参照于元素在文档流中的位置进行定位的
    • 3.相对定位会提升元素的层级
    • 4.相对定位不会使元素脱离文档流
    • 5.相对定位不会改变元素的性质块还是块,行内还是行内
position: relative;

1.2 绝对定位

  • 当元素的position属性值设置为absolute时,则开启了元素的绝对定位
  • 绝对定位的特点:
    • 1.开启绝对定位后,如果不设置偏移量元素的位置不会发生变化
    • 2.开启绝对定位后,元素会从文档流中脱离
    • 3.绝对定位会改变元素的性质,行内变成块,块的宽高被内容撑开
    • 4.绝对定位会使元素提升一个层级
    • 5.绝对定位元素是相对于其包含块进行定位的
  • 包含块( containing block )
    • 正常情况下:包含块就是离当前元素最近的祖先块元素
  • 绝对定位的包含块:
    • 包含块就是离它最近的开启了定位的祖先元素,如果所有的祖先元素都没有开启定位则根元素就是它的包含块
position: absolute;

1.3 固定定位

  • 将元素的position属性设置为fixed则开启了元素的固定定位
  • 固定定位也是一种绝对定位,所以固定定位的大部分特点都和绝对定位一样唯一不同的是固定定位永远参照于浏览器的视口进行定位固定定位的元素不会随网页的滚动条滚动
  • position: fixed;

1.4 粘滞定位

  • 当元素的position属性设置为sticky时则开启了元素的粘滞定位
  • 粘滞定位和相对定位的特点基本一致,不同的是粘滞定位可以在元素到达某个位置时将其固定
  • position: sticky;

1.5 绝对定位元素的布局

  • 水平布局left + margin-left + border-left + padding-left + width + padding-right + border-right + margin-right + right = 包含块的内容区的宽度
    • 当我们开启了绝对定位后:水平方向的布局等式就需要添加left 和 right 两个值此时规则和之前一样只是多添加了两个值: 当发生过度约束: 如果9个值中没有 auto 则自动调整right值以使等式满足 如果有auto,则自动调整auto的值以使等式满足
    • 可设置auto的值 margin width left right
    • 因为left 和 right的值默认是auto,所以如果不指定left和right
    • 则等式不满足时,会自动调整这两个值
  • 垂直方向布局的等式的也必须要满足top + margin-top/bottom + padding-top/bottom + border-top/bottom + height = 包含块的高度

1.6 元素的层级

  • 对于开启了定位元素,可以通过z-index属性来指定元素的层级
  • z-index需要一个整数作为参数,值越大元素的层级越高
  • 元素的层级越高越优先显示
  • 如果元素的层级一样,则优先显示靠下的元素
  • 祖先的元素的层级再高也不会盖住后代元素
z-index: 3;


2. 偏移量(offset)

  • 当元素开启了定位以后,可以通过偏移量来设置元素的位置
  • top 定位元素和定位位置上边的距离
  • bottom 定位元素和定位位置下边的距离
  • 定位元素垂直方向的位置由top和bottom两个属性来控制 通常情况下我们只会使用其中一
    • top值越大,定位元素越向下移动
    • bottom值越大,定位元素越向上移动
  • left 定位元素和定位位置的左侧距离
  • right 定位元素和定位位置的右侧距离
  • 定位元素水平方向的位置由left和right两个属性控制 通常情况下只会使用一个
    • left越大元素越靠右
    • right越大元素越靠左
position: relative;

           left: 100px;
           top: -200px;

1. 字体

  • font-face可以将服务器中的字体直接提供给用户去使用
@font-face {
               /* 指定字体的名字 */
           font-family:'myfont' ;
           /* 服务器中字体的路径 */
           src: url('./font/ZCOOLKuaiLe-Regular.ttf') format("truetype");
      }

1.1 字体相关样式

  • color 用来设置字体颜色
  • font-size 字体的大小
    • em 相当于当前元素的 一个font-size
    • rem 相对于根元素的一个font-size
    • 相关的单位
  • font-family 字体族(字体的格式)可选值:
    • 指定字体的类别,浏览器会自动使用该类别下的字体
    • serif 衬线字体
    • sans-serif 非衬线字体
    • monospace 等宽字体
    • font-family 可以同时指定多个字体,多个字体间使用,隔开字体生效时优先使用第一个,第一个无法使用则使用第二个 以此类推
Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"B8BF53",sans-serif
font-family: 'Courier New', Courier, monospace;

2. 图标字体

  • 在网页中经常需要使用一些图标,可以通过图片来引入图标但是图片大小本身比较大,并且非常的不灵活
  • 所以在使用图标时,我们还可以将图标直接设置为字体,然后通过font-face的形式来对字体进行引入
  • 这样我们就可以通过使用字体的形式来使用图标
  • fontawesome 使用步骤
    • 1.下载 https://fontawesome.com/
    • 2.解压
    • 3.将css和webfonts移动到项目中
    • 4.将all.css引入到网页中
    • 5.使用图标字体 - 直接通过类名来使用图标字体 class="fas fa-bell" class="fab fa-accessible-icon"
  • 通过伪元素来设置图标字体
    • 1.找到要设置图标的元素通过before或after选中
    • 2.在content中设置字体的编码
    • 3.设置字体的样式
fab
  font-family: 'Font Awesome 5 Brands';

fas
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
<i class="fas fa-cat"></i>
通过实体来使用图标字体:
          &#x图标的编码;
<span class="fas"></span>

3. 行高

  • 可以将行高设置为和高度一样的值,使单行文字在一个元素中垂直居中
line-height: 200px;
  • 行高指的是文字占有的实际高度
    • 行间距 = 行高 - 字体大小
    • 也可以直接为行高设置一个整数
    • 如果是一个整数的话,行高将会是字体的指定的倍数
    • 可以通过line-height来设置行高
    • 行高可以直接指定一个大小(px em)
    • 行高经常还用来设置文字的行间距
  • 字体框
    • 字体框就是字体存在的格子,设置font-size实际上就是在设置字体框的高度
  • 行高会在字体框的上下平均分配
/* line-height: 1.33; */
           /* line-height: 1; */
           /* line-height: 10 */

4. 字体属性

  • font 可以设置字体相关的所有属性
    • font: 字体大小/行高 字体族
    • 行高 可以省略不写 如果不写使用默认值
    • 语法:
font: 50px/2 微软雅黑, 'Times New Roman', Times, serif;
  • font-weight 字重 字体的加粗
    • normal 默认值 不加粗
    • bold 加粗
    • 100-900 九个级别(没什么用)
    • 可选值:
  • font-style 字体的风格
    • normal 正常的
    • italic 斜体
font-weight: bold;
font-weight: 500;
font-style: italic;

5. 文本样式

  • text-align 文本的水平对齐
    • left 左侧对齐
    • right 右对齐
    • center 居中对齐
    • justify 两端对齐
    • 可选值:
text-align: justify;
  • vertical-align 设置元素垂直对齐的方式
    • baseline 默认值 基线对齐
    • top 顶部对齐
    • bottom 底部对齐
    • middle 居中对齐
    • 可选值:
vertical-align:baseline;
  • text-decoration 设置文本修饰
    • none 什么都没有
    • underline 下划线
    • line-through 删除线
    • overline 上划线
    • 可选值:
text-decoration: overline;
  • white-space 设置网页如何处理空白
    • normal 正常
    • nowrap 不换行
    • pre 保留空白
    • 可选值:
white-space: nowrap;