前端入门 之CSS

498 阅读9分钟
1. CSS常用的属性
2. CSS的选择器
3. CSS的三大特性
4. CSS中的盒子模型
5. CSS中常用的三种布局机制

字体属性

属性 表示 注意点
font-size 字号 我们通常用的单位是px 像素,一定要跟上单位
font-family 字体 实际工作中按照团队约定来写字体
font-weight 字体粗细 记住加粗是 700 或者 bold 不加粗 是 normal 或者 400 记住数字不要跟单位
font-style 字体样式 记住倾斜是 italic 不倾斜 是 normal 工作中我们最常用 normal
font 字体连写 1. 字体连写是有顺序的 不能随意换位置 2. 其中字号 和 字体 必须同时出现

color:文本颜色

  • 作用:

    color属性用于定义文本的颜色,

  • 其取值方式有如下3种:

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

background背景相关

属性 作用
background-color 背景颜色 预定义的颜色值/十六进制/RGB代码
background-image 背景图片 url(图片路径)
background-repeat 是否平铺 repeat/no-repeat/repeat-x/repeat-y
background-position 背景位置 length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法
背景简写 更简单 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序
背景透明 让盒子半透明 background: rgba(0,0,0,0.3); 后面必须是 4个值

常用的操作属性

1. 文本水平位置: text-align
  1. 文本首行缩进: text-indent
  2. 文本修饰线: text-decoration
  3. 行高: line-height

CSS常用选择器

标签选择器

  • 概念:

    标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。

  • 语法:

标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 
  • 作用:

    标签选择器 可以把某一类标签全部选择出来 比如所有的div标签 和 所有的 span标签

  • 优点:

    是能快速为页面中同类型的标签统一样式

  • 缺点:

    不能设计差异化样式。

思考: 如果想要差异化选择不同的标签,怎么办呢? 就是说 我想单独选一个或者某几个标签呢?

类选择器

类选择器使用“.”(英文点号)进行标识,后面紧跟类名.

  • 语法:

    • 类名选择器
    .类名  {   
        属性1:属性值1; 
        属性2:属性值2; 
        属性3:属性值3;     
    }
    
    • 标签
    <p class='类名'></p>
    
  • 优点:

    • 可以为元素对象定义单独或相同的样式。 可以选择一个或者多个标签
  • 注意

    • 类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)
    • 长名称或词组可以使用中横线来为选择器命名。
    • 不要纯数字、中文等命名, 尽量使用英文字母来表示。

命名规范: 见附件(Web前端开发规范手册.doc)

命名是我们通俗约定的,但是没有规定必须用这些常用的命名。

id选择器

id选择器使用#进行标识,后面紧跟id名

  • 其基本语法格式如下:

    • id选择器

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

      <p id="id名"></p>
      
  • 元素的id值是唯一的,只能对应于文档中某一个具体的元素。

  • 用法基本和类选择器相同。

后代选择器(重点)

  • 概念:

    后代选择器又称为包含选择器

  • 作用:

    用来选择元素或元素组的子孙后代

  • 其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,先写父亲爷爷,在写儿子孙子。

父级 子级{属性:属性值;属性:属性值;}
  • 语法:
.class h3{color:red;font-size:16px;}

  • 当标签发生嵌套时,内层标签就成为外层标签的后代。
  • 子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签。

子元素选择器(子代选择器)

  • 作用:

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

  • 其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接

  • 语法:

.class>h3{color:red;font-size:14px;}

一句话说出他们

这里的子 指的是 亲儿子 不包含孙子 重孙子之类。

白话:

 比如:  .demo > h3 {color: red;}   说明  h3 一定是demo 亲儿子。  demo 元素包含着h3。

交集选择器

  • 条件

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

  • 语法:

  • 其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special。

记忆技巧:

交集选择器 是 并且的意思。 即...又...的意思

比如:   p.one   选择的是: 类名为 .one  的 段落标签。  

用的相对来说比较少,不太建议使用。

并集选择器(重点)

  • 应用:
    • 如果某些选择器定义的相同样式,就可以利用并集选择器,可以让代码更简洁。
  • 并集选择器(CSS选择器分组)是各个选择器通过,连接而成的,通常用于集体声明。
  • 语法:

  • 任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。

  • 记忆技巧:

    并集选择器通常用于集体声明 ,逗号隔开的,所有选择器都会执行后面样式,逗号可以理解为 和的意思。

比如  .one, p , #test {color: #F00;}  
表示   .one 和 p  和 #test 这三个选择器都会执行颜色为红色。 
通常用于集体声明。  

CSS三大特性

CSS层叠性

  • 概念:

    所谓层叠性是指多种CSS样式的叠加。

    是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉

  • 原则:

    • 样式冲突,遵循的原则是就近原则。 那个样式离着结构近,就执行那个样式。
    • 样式不冲突,不会层叠
CSS层叠性最后的执行口诀:  长江后浪推前浪,前浪死在沙滩上。

CSS继承性

  • 概念:

    子标签会继承父标签的某些样式,如文本颜色和字号。

    想要设置一个可继承的属性,只需将它应用于父元素即可。

简单的理解就是: 子承父业。

  • 注意
    • 恰当地使用继承可以简化代码,降低CSS样式的复杂性。比如有很多子级孩子都需要某个样式,可以给父级指定一个,这些孩子继承过来就好了。
    • 子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性
CSS继承性口诀:  龙生龙,凤生凤,老鼠生的孩子会打洞。

CSS优先级(重点)

  • 概念:

    定义CSS样式时,经常出现两个或更多规则应用在同一元素上,此时,

    • 选择器相同,则执行层叠性
    • 选择器不同,就会出现优先级的问题。

CSS盒子模型

​ 所谓盒子模型:

  • 就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。

盒子边框(border)

  • 语法:
border : border-width || border-style || border-color 
属性 作用
border-width 定义边框粗细,单位是px
border-style 边框的样式
border-color 边框颜色
  • 边框的样式:
    • none:没有边框即忽略所有边框的宽度(默认值)
    • solid:边框为单实线(最为常用的)
    • dashed:边框为虚线
    • dotted:边框为点线

边框综合设置

border : border-width || border-style || border-color 

例如:

 border: 1px solid red;  没有顺序  

盒子边框写法

很多情况下,我们不需要指定4个边框,我们是可以单独给4个边框分别指定的。

上边框 下边框 左边框 右边框
border-top-style:样式; border-bottom-style:样式; border-left-style:样式; border-right-style:样式;
border-top-width:宽度; border- bottom-width:宽度; border-left-width:宽度; border-right-width:宽度;
border-top-color:颜色; border- bottom-color:颜色; border-left-color:颜色; border-right-color:颜色;
border-top:宽度 样式 颜色;

内边距(padding)

内边距:

​ padding属性用于设置内边距。 是指 边框与内容之间的距离。

设置

属性 作用
padding-left 左内边距
padding-right 右内边距
padding-top 上内边距
padding-bottom 下内边距

当我们给盒子指定padding值之后, 发生了2件事情:

  1. 内容和边框 有了距离,添加了内边距。
  2. 盒子会变大了。

我们分开写有点麻烦,我们可以不可以简写呢?

值的个数 表达意思
1个值 padding:上下左右内边距;
2个值 padding: 上下内边距 左右内边距 ;
3个值 padding:上内边距 左右内边距 下内边距;
4个值 padding: 上内边距 右内边距 下内边距 左内边距 ;

外边距(margin)

外边距

​ margin属性用于设置外边距。 margin就是控制盒子和盒子之间的距离

设置:

属性 作用
margin-left 左外边距
margin-right 右外边距
margin-top 上外边距
margin-bottom 下外边距

margin值的简写 (复合写法)代表意思 跟 padding 完全相同。

CSS中的三种常见的布局机制

  1. 普通流(标准流)
    • 块级元素会独占一行,从上向下顺序排列;
      • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
    • 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行;
      • 常用元素:span、a、i、em等
  2. 浮动
    • 让盒子从普通流中起来,主要作用让多个块级盒子一行显示。
    • 脱离标准普通流的控制
    • 移动到指定位置
  3. 定位
    • 将盒子在浏览器的某一个置——CSS 离不开定位,特别是后面的 js 特效。