css基础

CSS(Cascading Style Sheets) ,通常称为CSS样式表或层叠样式表(级联样式表)

作用:

  • 主要用于设置 HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
  • CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。
1. 引入位置
  1. 行内式(内联样式)

    <标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>
    

    实际上任何HTML标签都拥有style属性,用来设置行内式。

    • 注意

      style是标签的一种属性,样式属性和值中间是:,样式之间;隔开,只能控制当前标签样式属性

  2. 内部样式(内嵌式)

    <head>
    <style type="text/CSS">
        选择器(选择的标签) { 
          属性1: 属性值1;
          属性2: 属性值2; 
          属性3: 属性值3;
        }
    </style>
    </head>
    
    <style>
    	 div {
    	 	color: red;
    	 	font-size: 12px;
    	 }
    </style>
    

注意

style标签一般位于head标签中,当然理论上他可以放在HTML文档的任何地方,type=“text/css” 在html5中可以省略,且只能控制当前页面信息

  1. 外部样式表(链入式)

    就是将所有的样式放在一个或多个以**.CSS**为扩展名的外部样式表文件中,通过link标签将外部样式表链接到HTML中

    <head>
      <link rel="stylesheet" type="text/css" href="css文件路径">
    </head>
    

    注意

    link是单标签,link标签需要放在head头部标签中,并且指定link标签的三个属性

属性作用
rel定义当前文档与被链接文档之间的关系,在这里需要指定“stylesheet”,表示所链接的文档是一个样式表
type定义所链接文档的类型,这里指定为“text/css”,但可省略
href定义URL,可以是绝对地址也可以是是相对地址
2. CSS选择器
2.1 标签选择器

例如:

h3 { 
	color: red;
}

先选择出标签,在对该类标签进行操作,对页面中所有的标签都设置统一的颜色

2.2 类选择器

语法

.类名  {   
    属性1:属性值1; 
    属性2:属性值2; 
    属性3:属性值3;     
}

<p class='类名'></p>

注意

  1. 类选择器使用.加类名
  2. 不要纯数字、中文等命名, 尽量使用英文字母来表示。

多类名选择器

各个类名中间用空格隔开。例如

<div class="pink fontWeight font20">亚瑟</div>
<div class="font20">刘备</div>
<div class="font14 pink">安其拉</div>
<div class="font14">貂蝉</div>
2.3 id选择器

语法

#id名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

...

<p id="id名"></p>

注意

  1. id值是唯一的,只能对应于文档中的唯一确定元素
  2. 用法基本与类选择器相同
2.4 通配符选择器

通配符选择器用*号表示, * 就是 选择所有的标签 他是所有选择器中作用范围最广的,能匹配页面中所有的元素。

语法

* { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

常用于清楚HTML默认标记

* {
  margin: 0;                    /* 定义外边距*/
  padding: 0;                   /* 定义内边距*/
}
  • 注意

    会匹配页面所有的元素,降低页面响应速度,不建议随便使用
    
3. CSS字体样式
3.1 font字体

1. font-size字体大小

p {  
    font-size:20px; 
}

2. font-family字体

p{ font-family:"微软雅黑";}
  • 网页中常用的字体有宋体、微软雅黑、黑体等,例如将网页中所有段落文本的字体设置为微软雅黑

  • 可以设置多个字体,但第一个字体不支持时,开始适配后续字体

    p{font-family: Arial,"Microsoft Yahei", "微软雅黑";}
    
  • Unicode字体

    • 在CSS中设置字体一般可以直接使用中文设置,但是在文件编码时容易出现乱码的错误,例如 xp系统则不支持微软雅黑的中文写法
    • 解决方法:可以直接些英文,例如font-family:"Microsoft Yahei" 或者使用Unicode编码
字体名称英文名称Unicode 编码
宋体(常用)SimSun\5B8B\4F53
新宋体NSimSun\65B0\5B8B\4F53
黑体SimHei\9ED1\4F53
微软雅黑(常用)Microsoft YaHei\5FAE\8F6F\96C5\9ED1
楷体_GB2312KaiTi_GB2312\6977\4F53_GB2312
隶书LiSu\96B6\4E66
幼园YouYuan\5E7C\5706
华文细黑STXihei\534E\6587\7EC6\9ED1
细明体MingLiU\7EC6\660E\4F53
新细明体PMingLiU\65B0\7EC6\660E\4F53

3. font-weight字体粗细

可以使用b或者strong标签实现,也可以通过font-weight实现

属性值描述
normal默认值(不加粗的)
bold定义粗体(加粗的)
100~900400 等同于 normal,而 700 等同于 bold 我们重点记住这句话

4. font-style字体风格

属性作用
normal默认值,浏览器会显示标准的字体样式 font-style: normal;
italic浏览器会显示斜体的字体样式。

当然可以直接使用i和em标签

5. 综合设置字体样式

选择器 {font: font-style font-weight font-size/line-height font-family;}

注意

必须按照以上格式顺序书写,各属性间以空格隔开,不需要设置的可以省略,取默认值,但必须保留font-size 和font-family 属性,否则font属性无效

3.2 CSS外观属性

1. color颜色

表示表示属性值
预定义的颜色值red,green,blue,还有我们的御用色 pink
十六进制#FF0000,#FF6600,#29D794
RGB代码rgb(255,0,0)或rgb(100%,0%,0%)

主要使用16进制

2. text-align文本水平对齐方式

属性解释
left左对齐(默认值)
right右对齐
center居中对齐
  • 注意 是让内容水平居中而不是盒子本身

3. ine-height行间距

line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%,实际工作中使用最多的是像素px,一般大于字体7 8像素即可

4. text-indent首行缩进

  • 其属性值可为不同单位的数值、em字符宽度的倍数、或相对于浏览器窗口宽度的百分比%,允许使用负值,
  • 建议使用em作为设置单位。1em就是一个字的宽度,首行缩进两个字就是 2pm

5. text-decoraton文本装饰

描述
none默认,定义标准文本,取消下划线
underline定义下划线
overline定义文本上划线
line-through定义穿过文本的线

6. 行高 line-height

文字的行高等于盒子的高度

行高 = 上距离 + 内容高度 + 下距离

设置文本垂直居中

  • 行高等于盒子高度 文字垂直居中
  • 行高大于盒子高度 文字会偏下
  • 行高小于盒子高度 文字会偏上
4. sublime快捷操作emmet语法
  1. 生成标签 直接输入标签名 按tab键即可 比如 div 然后tab 键, 就可以生成

  2. 如果想要生成多个相同标签 加上 * 就可以了 比如 div*3 就可以快速生成3个div

  3. 如果有父子级关系的标签,可以用 > 比如 ul > li就可以了

  4. 如果有兄弟关系的标签,用 + 就可以了 比如 div+p

  5. 如果生成带有类名或者id名字的, 直接写 .demo 或者 #two tab 键就可以了

  6. 如果生成的div 类名是有顺序的, 可以用 自增符号 $

    .demo$*3        
    <div class="demo1"></div>
    <div class="demo2"></div>
    <div class="demo3"></div>
    
5. CSS复合选择器
5.1 后代选择器
父级 子级{属性:属性值;}

当标签发生嵌套时,内层标签则就成为外层标签的后代,且子孙后代都可选择

5.2 子选择器

子元素选择器只能选择作为某元素**子元素(亲儿子)**的元素。

父子标签通过>连接

.class>h3{color:red;font-size:14px;}
5.3 交集选择器

交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点。

例如:

 p.nav   选择的是: 类名为 .nav  的 段落标签。 

中间用.不能有空客

5.4 并集选择器

并集选择器(CSS选择器分组)是各个选择器通过,连接而成的,通常用于集体声明。

.class, h1, #1 {属性 :属性值; }

主要用于集体声明,通过,相隔

5.5 链接伪类选择器

伪类选择器:

为了和我们刚才学的类选择器相区别
类选择器是一个点 比如 .demo {}
而我们的伪类 用 2个点 就是 冒号 比如 :link{}

用于向某些选择器添加特殊的效果。比如给链接添加特殊效果, 比如可以选择 第1个,第n个元素。因为伪类选择器很多,比如链接伪类,结构伪类等等。

a:link  /*未访问链接*/
a:visited /*已访问链接*/
a:hover /*鼠标移动到链接上*/
a:active /*选定的链接*/

注意

书写时尽量按照l v h a 的顺序

love hate 爱上了讨厌

6. 标签显示模式
6.1 块级元素(block-level)

例如

常见的块级元素 h1-h6 ,p div, ul ,ol,li等

在这里插入图片描述

特点

  1. 独占一行

  2. 宽高、外边距以及内边距都可以控制

  3. 宽度默认父级容器的100%

  4. 是一个容器 ,可以方行内或者块级元素

    注意

    只有文字才能组成段落或者标题,因此在p中无法放任何的块级元素

6.2 行内元素
a,strong,b,em,span等等

在这里插入图片描述

特点

  1. 相邻的行内元素,显示在同一行
  2. 宽高设置无效,默认为内容宽
  3. 行内元素只能容纳文本或者其他的行内元素
6.3 行内块元素
<img /> ,<imput />, <td />可以设置宽高和对齐方式

在这里插入图片描述

特点

  1. 一行可以显示多个行内块元素,之间会有空白
  2. 宽度默认为内容,其余属性可以直接设置
6.4 标签模式的转换
display:inline; /*块转行内*/
display:block; /*行内转块*/
display:inline-block; /*块、行内转为行内块*/
7.CSS背景 background
7.1 背景颜色
background-color: 颜色值 默认值transparent
7.2 背景图
background-image: none | url(url)
7.3 背景平铺(repeat)
background-repeat : repeat | no-repeat |repeat-x 、repeat-y
参数作用
repeat默认纵向横向平铺
none不平铺
repeat-x在横向平铺
repeat-y在纵向平铺
7.4 背景位置
background-position : length || length

background-position : position || position 
参数
length百分数 | 由浮点数字和单位标识符组成的长度值
positiontop | center | bottom | left | center | right 方位名词

注意

  1. 必须先有background-image
  2. position后两个方位名词,顺序无关
  3. 若指定一个方位词,另一个默认为center
  4. 坐标必须时x在前y在后,若只有一个坐标默认为x坐标,y为垂直居中
7.5 背景附着
background-attachment : scroll | fixed
参数作用
scroll背景图像是随对象内容滚动
fixed背景图像固定
7.6 背景简写
backgrond : transprat url(url) repeat scroll center top

书写顺序不严格要求,建议按照以上顺序

7.6 背景透明
background : rgba(0,0,0,0.3);

最后一个值是透明度,取值0-1之间,可以0.3写为 .3,透明值是让盒子背景透明,而非内容

8. CSS三大特性

1. CSS层叠性

层叠性指多种css样式的叠加,处理原则是样式冲突时执行就近的原则,不冲突时不会层叠

2. css继承性

子标签会继承父标签的某些样式,比如text-,font- line-

3. css优先级

选择器相同会执行层叠性,不同时优先级有不同

权重计算公式

标签选择器计算公式
继承或者*0,0,0,0,
每个元素 (标签选择器)0,0,0,1
每个类 伪类0,0,1,0
每个id0,1,0,0
每个行内样式 style=“”1,0,0,0
每个!important无穷大
  • 值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。
  • 关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)

权重叠加

  • div ul li ------> 0,0,0,3

  • .nav ul li ------> 0,0,1,2

  • a:hover -----—> 0,0,1,1

  • .nav a ------> 0,0,1,1

    直接相加不会进位,0,0,0,5+0,0,0,5 =0,0,0,10

    继承的权重是0

    黑马前端全栈教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值