CSS总结

CSS总结

CSS是级联样式表(Cascading Style Sheets)的缩写。

CSS的核心概念

css的核心概念是对html的元素进行装饰,即对同样的元素进行同样的装饰。

此处的装饰包括对页面的布局,元素的距离,大小,颜色,显示方式,透明度,倾斜等等

CSS语法

CSS的基础使用规则是由两个部分组成,即 对什么操作什么

或者用成体系一点的说法叫

选择器+{声明}

  • 选择器,即需要改变样式的对象
  • 声明是包含在大括号内的一条或多条属性:值,多条用隔开

选择器

选择器也有所分类,id or class

id选择器id选择器前面有#号

#man{
	color:red;
}

这句话是指让id为man的元素变为红色

class选择器class选择器前有`.`号

.center{
	text-align:center;
}
.red{
	color:red;
}

示意,只要某元素的class符合条件,即执行装饰规则

CSS使用方法

外部样式表

<link rel="stylesheet" type="text/css" href="mycss.css">

在html文件中的<head>部分中进行导入,此处导入的链接在href后的mycss.css中,表示为使用与html同级目录下的mycss.css文件中的外部样式表进行html中元素的包装。

内部样式表

<style>
    h1 {
      color: red;
    }
    p {
      text-align: center;
    }
</style>

在html文件中的<head>部分中进行插入,此处利用<style>标签,将内部样式表插入在html中,使得对此html中的元素进行装饰。

内联样式

<h1 style="color:blue;">I am blue</h1>

内联样式比之前两种最不灵活,只针对具体某处进行样式制定,可复用性低下。

样式优先级

  1. 内联样式
  2. 内部样式表或外部样式表
  3. 浏览器缺省样式

颜色

颜色在网页中起到基垫作用,一个好的网页配色可以让网页变得高端大气上档次。

我们在给元素设置颜色时,可以使用

  1. 颜色名称
  2. 颜色RGB16进制
  3. 颜色RGBA(红绿蓝透明度)

以上三种方式来设置前景色或者背景色

<!-- 颜色名称 -->
<h3 style="background-color:gray">gray</h3>
<h3 style="background-color:green">green</h3>
<!-- 颜色值 #xx(red)xx(green)xx(blue)三个分量0~255 -->
<h3 style="background-color:#0000ff">#0000ff</h3>
<h3 style="background-color:#0099ff">#0000ff</h3>
<!-- RGBA -->
<h3 style="background-color:rgba(0,0,255,0.5)">rgba(0,0,255,0.5)</h3>
<h3 style="background-color:rgba(0,0,255,0.3)">rgba(0,0,255,0.3)</h3>
<!-- 加上文字颜色 -->
<!-- RGBA -->
<h3 style="background-color:rgba(20,255,20,0.3);color:rgba(255,255,255,0.9)">背景:rgba(20,255,20,0.3)<br>字:rgba(255,255,255,0.9)</h3>

在这里插入图片描述

尺寸

元素大小使用heightwidth分别设置元素的长和宽。

常用单位为px百分比

例如:

<h3 style="background-color:rgba(0,0,255,0.5);width: 100%;
  height: 200px;text-align: center">rgba(0,0,255,0.5)</h3>
<h3 style="background-color:rgba(0,0,255,0.3); height: 100px;
  width: 500px;">rgba(0,0,255,0.3)</h3>

在这里插入图片描述

对齐

通常对不同方向的对齐采用不同方案

文本横对齐: text-align: center

left、center、right

盒子模型

html元素可以看作一个盒子,他的样式可以在各层进行加工,包括

  • Content 内容(文本、图片等)
  • Padding 内边距(内容与边框的距离)
  • Border 边框(默认无大小)
  • Margin 外边距(边框外到其他元素距离)

在这里插入图片描述

选择该元素真实占用的宽度为

左外边距 + 左边框宽度 + 左内边距 + 内容宽度 + 右内边距 + 右边框宽度 + 右外边距

width属性设置宽度只修改了内容部分宽度

其中,padding和margin都是完全透明的没有背景颜色

border可以增加颜色并改变其样式

边距与边框

无论边框、内边距还是外边距,它们都有上下左右四个方向。

所以设置上来说都可以使用

  • xxx-top
  • xxx-bottom
  • xxx-right
  • xxx-left

来对应设置其边距

同时,border还可以设置样式,包括其

  • 宽度
  • 线条样式
  • 颜色
<div style="border:5px dotted green;background-color:rgba(0,0,255,0.2);color:gray">边框</div>

在这里插入图片描述

定位

position用于对元素定位,它可以

  • static 静态
  • relative 相对
  • fixed 固定
  • absolute 绝对

static 静态

默认定位方式,先上后下,从左到右的方式排布出现的元素

relative 相对

这是对其原本静态位置偏移一部分

<div style="position: relative;
  left: 60px;
  top: 40px;
  background-color: rgb(173, 241, 241);">我偏移了正常显示的位置。去掉我的样式对比看看?</div>
  

在这里插入图片描述

fixed 固定

此处的固定指的是相对浏览器可以看见的部分,也就是说,会固定在某个位置,无论你怎么拖动滚动条

absolute 绝对定位

设置absolute属性后,该元素对最近的非static父元素偏移,最早可以追溯到<body>

<div style=" position: relative;
  width: 400px;
  height: 200px;
  border: 3px solid rgb(87, 33, 173);">这是父元素,有 relative 定位属性
  <div style="position: absolute;
  top: 80px;
  right: 5px;
  width: 200px;
  height: 100px;
  border: 3px solid rgb(218, 73, 16);">
    这是子元素,有 absolute 定位属性
  </div>
</div>
<div style=" position: relative;
  width: 400px;
  height: 200px;
  left:100px;
  border: 3px solid rgb(87, 33, 173);">这是父元素,有 relative 定位属性
  <div style="position: absolute;
  top: 80px;
  right: 5px;
  width: 200px;
  height: 100px;
  border: 3px solid rgb(218, 73, 16);">
    这是子元素,有 absolute 定位属性
  </div>
</div>

在这里插入图片描述

溢出

当元素内容过多,所指定区域不够排布,通过overflow属性处理,其有以下属性:

  • visible 默认值,溢出部分不被裁剪,在区域外面显示
  • hidden 裁剪溢出部分且不可见
  • scroll 裁剪溢出部分,但提供上下和左右滚动条供显示
  • auto 裁剪溢出部分,视情况提供滚动条

同时我们还可以单独对上下或左右进行设置,即使用属性

overflow-yoverflow-x分别制定上下和左右的溢出处理

浮动

浮动即将一个元素进行偏好设置,希望他能够出现在哪里,将剩下的元素围绕着偏好的进行标准排布。

使用float属性来进行设置。例如 float:right;

不透明度

前面在颜色的地方使用了rgba来调颜色,其中a就是控制不透明的。

而对所有元素的透明度进行调节又专门的属性opacity

常用于图片,值在[0.0~1.0]之间,越低越透明

进阶——组合选择器

后代选择器

.tgm p {
      background-color: yellow;
    }

即以空格分隔的组合选择器,.tgm p代表在具有.tgm类的元素下的所有p都有此修饰。

子选择器

.tgm > p {
      background-color: yellow;
    }

也称为直接后代选择器,以>作为分隔,如:.tgm > p 代表在有.tgm类的元素内的直接<p>元素才有修饰。

并行选择器

此处不是组合选择器,只是当有多种类型或者多个类具有同样的属性,可以使用,分割,让多个类拥有同样的属性。

伪类和伪元素

主要是对元素变化的特定状态或位置进行操作,此处我们采用了老师的案例进行解释,笔者仅使用过链接访问前后样式改变。

比如某些情况:

  • 鼠标移到某元素上变换背景颜色
  • 超链接访问前后访问后样式不同
  • 离开必须填写的输入框时出现红色的外框进行警示
  • 保证段落的第一行加粗,其它正常

语法

/* 选择器后使用 : 号,再跟上某个伪类/伪元素 */
selector:pseudo-class/pseudo-element {
  property:value;
}

举例

a:link {color:#FF0000;}     /* 未访问的链接 */
a:visited {color:#00FF00;}  /* 已访问的链接 */
a:hover {color:#FF00FF;}    /* 鼠标划过链接 */
/* 鼠标移到段落则改变背景颜色 */
p:hover {background-color: rgb(226, 43, 144);}
p:first-line{color:blue;}   /* 段落的第一行显示蓝色 */
p:first-letter{font-size: xx-large;}   /* 段落的第一个字超大 */

h1:before { content:url(smiley.gif); } /* 在每个一级标题前插入该图片 */
h1:after { content:url(smiley.gif); } /* 在每个一级标题后插入该图片 */

在这里 before和after属性使用可能会有独特的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值