CSS学习(一)

CSS

CSS简介

CSS作用

  • 美化网页
  • html关注语义,丑

CSS语法规范

  • CSS规则

    • 选择器

      • 概念

        • 选择器是用于指定CSS样式的HTML标签,{}内是对该对象设置的具体样式
      • 属性

        • 属性和属性值是以键值对的形式出现
        • 属性是指定对象设置的样式属性,例如字体大小,文本颜色等
        • 属性和属性值之间用英文“:”分开
        • 多个键值对之间用英文分号结尾
    • 一条或多条声明

CSS

  • CSS是层叠样式表的简称,也叫CSS样式表,或者级联样式表
  • 主要作用于html中文本显示内容,页面版面布局和外观样式

CSS代码风格

  • 格式书写

    • 展开型
    • 紧凑型
  • 样式的大小写

    • 一般情况使用小写
  • 空格的使用规范

    • 属性值前面,冒号后面,保留一个空格
    • 选择器标签和大括号中间保留空格

CSS的选择器

作用

  • 根据不同需求把不同标签选出来,即选择标签

分类

  • 基础选择器

    • 由单个选择器组成

    • 类选择器

      • 可以选择某一个或者某几个

      • 结构:用class调用

      • 注意

        • 类选择器使用"."进行标识,后面紧跟类名

        • 可以理解为给这个标签起了一个名字,来表示

        • 长名称或词组可以使用中横线来为选择器命名

        • 不要使用纯数字,中文等命名。尽量使用英文字母来表示

        • 命名要有意义,尽量使得别人一眼就知道这个类名的目的

        • 命名规范:

          • 同一个标签可以有多个类名
      • 多类名的使用场景

        • 可以吧一些标签元素相同的样式共同部分放到一个类里
        • 这些标签可以调用公共的类,然后在调用自己独有的类
        • 优点:节省了CSS代码,统一修改方便
    • 标签选择器

      • 标签选择器

        • 缺点

          • 不能指定某一标签
        • 优点

    • id选择器

      • 概念

        • id 选择器可以为标有特定的id属性来设置id选择器,CSS中ID选择器以#来定义
      • 类选择器和id选择器的区别:

        • 类型选择器好比人的名字,一个人可以有多个名字
        • id选择器好比人的身份证好拿,全国唯一,不能重复
        • ID选择器和类选择器最大的不同在于使用次数上
        • 类选择器在修改样式中最多,id选择器一般用于也米阿尼唯一的元素上,经常和JavaScript搭配使用。
    • 通配符选择器

      • 概念

        • 在CSS中,通配符选择器使用*定义,它表示选取页面中所有元素
      • 通配符选择器不需要调用,自动就给所有元素使用样式

  • 复合选择器

    • 后代选择器

      • 又称为包含选择器,可以选择父元素里面子元素
    • 并集选择器

      • 并集选择器可以为多组标签,同时为他们定义相同样式
      • 语法:元素1,元素2
    • 伪类选择器

      • 伪类选择器用于向某些选择器添加特殊效果

      • 特点:用冒号表示

      • 分类

        • 链接伪类

          • a:link

            • 用于所有未被访问的链接
          • a:visited

            • 选择所有已经被访问的链接
          • a:hover

            • 选择鼠标指针位于其上的链接
          • a:active

            • 选择活动链接(鼠标按下未弹起)
          • 书写顺序要注意 link,visited,hover,active

        • 特殊伪类:

          • :focus

            • 用于选取获得焦点的表单元素
        • 结构伪类

    • 交集选择器

    • 组合选择器

      • 子代选择器

        • 用空格隔开
      • 子选择器

        • 用>进行选择
      • 相邻兄弟选择器

        • 用+进行选择
      • 通用兄弟选择器

        • 用~进选择
    • 属性选择器

      • 带有某一属性

        • 标签名 【属性】
      • 选取带有指定属性和值的元素

        • [attribute=“value”]
      • [attribute|=“value”] 选择器用于选取指定属性以指定值开头的元素

      • [attribute^=“value”] 选择器用于选取指定属性以指定值开头的元素。

      • [attribute$=“value”] 选择器用于选取指定属性以指定值结尾的元素。

      • [attribute*=“value”] 选择器选取属性值包含指定词的元素。

CSS字体

字体系列

  • font-family定义文本的字体系列
  • 各种字体之间用英文逗号隔开
  • 尽量使用系统默认自带字体
  • 常见的几个字体:Microsoft Yahei,Tohoma,Hiragino Sans GB

字体大小

  • CSS中使用font-size属性定义字体大小
  • 像素大小是我们网页中最常用的单位
  • 谷歌浏览器默认字体大小为16px
  • 不同浏览器默认字体大小不同
  • 可以给body指定整个页面的大小

字体粗细

  • CSS使用font-weight设置字体粗细
  • 字体粗细:bold(700),normal(400),lighter

文字样式

  • CSS使用font-style设置文字样式
  • font-style:Italic/normal;

字体复合属性

  • font : font-style font-weight font-size font-height font-family
  • 要使用文字的复合属性,至少要有字体大小和字体系列

CSS文本属性

  • 文本颜色用color

    • 预定颜色值
    • 十六进制
    • RGB代码格式
  • 文本对齐

    • 用text-align来表示
    • 有left(默认),right,center三个值
  • 装饰文本

    • 用text-decoration装饰文本
    • 属性值有:none(默认),underline,overline,line-through
  • 文本缩进

    • 用text-indent指定文本的第一行缩进

    • em是一个相对单位

      • text-indent : 2em;
  • 行间距

    • 用line-height用于设置行间距(行高),用于控制文字行与行之间的距离
  • 处理空白

    • white-space

      • normal 默认 自动换行

      • nowrap 不换行

      • pre 保留空格

      • 对溢出内容显示省略号

        • {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

CSS的引入方式

行内样式表

  • 行内式

    • 适合修改一些简单样式
    • 直接在标签内部的style属性中设定CSS样式
    • 可以控制当前标签样式
    • 没有体现结构与样式相分离

内部样式表

  • 嵌入式

    • style标签一般放在head标签中
    • 通过此方式,可以方便控制当前整个页面中的元素样式设置
    • 代码结构清晰,但是并没有实现结构与样式想分离

外部样式表

  • 链接式

    • 适合样式比较多的情况,核心是将样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用。

    • 引入样式表分两步

      • 新建一个.css 文件,写入相应的样式,即把css 样式写入该文件

      • 在html中,使用link标签引入这个文件

    • 好处:可以控制多个页面

Emmet语法

html

  • 带有类名或者id名的直接写.demo 或者 #two就可以了
  • 兄弟级标签用+
  • 父子级标签用>
  • 如果想要在生成的标签内部写内容可以用{}表示
  • 如果生成的div类名是有顺序的,可以使用自增符号$

CSS

  • w200按tab键可以快速生成 width :200px;

格式化代码

  • Shift +Alt+f
  • ctrl+S

元素的显示模式

分类

  • 行内元素

    • a,strong,em ,b,i,del s,u span,其中span标签是最典型行内元素,有的地方也将行内元素称为内联元素

    • 特点:

      • 相邻行内元素在一行上,一行可以显示多个
      • 高,宽直接设置是无效的
      • 默认宽度是它本身的宽度
      • 行内元素只能容纳文本或其他行内元素
    • 注意:

      • 链接里面不能在放链接
      • 特殊情况链接里面可以放块级元素,但是转换下一块级模式最安全
  • 块元素

    • 自己独占一行

    • 宽度默认是父级元素的100%

    • 是一个容器及盒子,里面可以放行内或者块级元素

    • 注意:

      • 标签主要用于存放文字,此标签不能放块级元素

      • h1-h6都是文字类块级标签,里面不能放其他块级元素
      • 文字内的元素不能使用块级元素
  • 行内块元素

    • 特殊标签

      • <img / >同时具有行内元素和块元素的特点,他们称为行内块
    • 特点:

      • 高度,行高,外边距以及内边距都可以控制
      • 默认宽度就是它本身内容的宽度
      • 和相邻行内块在一行上,但是他们之间会有空白缝隙,一行可以是新多个

元素显示模式的转换

  • 转换为块元素

    • display:block
  • 转换为行内元素

    • display :inline
  • 转换为行内块

    • 子主题 1

CSS背景background

背景颜色background-color

背景图片background-image

  • 默认值是none
  • 地址:url(url)

背景平铺background-repesat

  • repeat/no-repeat/repeat-x/repeat-y
  • 默认情况下是平铺

背景图片的位置background-position

  • background-postion:x,y;

    • 方位名词 left top right center bottom

      • 如果只指定一个方向,另一个省略,第二个默认居中对齐
    • 精确坐标

      • 如果参数是精确坐标,那么第一个肯定是x轴坐标,第二个一定是y轴坐标
      • 如果只指定一个数值,那么该数值一定是x坐标,另一个默认垂直居中
    • 混合单位,第一个值一定是x坐标,第二个一定是y坐标

背景固定background-attachment

  • scroll(默认)/fixed

背景属性复合background

  • 背景颜色 背景图片 背景平铺 背景图像滚动 背景图片位置

背景颜色透明

  • 背景色半透明,内容不受影响

  • opacity

    • 透明

CSS的三大特性

层叠性

  • 应用场景

    • 给相同的选择器选择相同的样式,样式冲突,就近原则
    • 样式不冲突,不用层叠

继承性

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

  • 行高的继承

    • 文字大小/行高
    • 行高可以跟单位,可以不跟行高(当前文字大小的XX倍)

优先级

  • 当同一个元素指定多个选择器,就会有一些优先级的产生

  • 选择器相同,则执行层叠性

  • 选择器不同,则根据选择器权重执行

    • 继承或者通配符选择器

      • 权重为0000
    • 元素选择器

      • 0001
    • 类选择器,伪类选择器

      • 0010
    • id选择器

      • 0100
    • 行内样式style=“”

      • 1000
    • !import

      • 无穷大
    • 注意:无论父元素权重多高,子元素继承的权重都为0

  • 优先级叠加

    • 权重虽然有叠加,但是永远不会有进位的问题

盒子模型

网页布局过程

  • 1.先准备好相关网页元素,网页元素基本都是盒子
  • 2.利用CSS 设置好盒子样式,然后摆到相应位置
  • 3.往盒子里面装内容

本质:

  • 盒子模型的本质是一个盒子,封装周围html元素

组成

  • 边框border

    • 边框宽度

      • border-width
    • 边框样式

      • border-style

        • none (默认)

        • hidden

        • dotted

          • 点线
        • solid

          • 实线
        • dashed

          • 虚线
        • double

        • groove

        • Inset

        • Outset

        • ridge

    • 边框颜色

      • border-color
    • 边框简写

      • border:边框宽度 边框样式 边框颜色
    • 边框可以分别设置上下左右

    • 表格的细线边框

      • 合并相邻的边框

        • border-collapse:collapse
    • 表格合并单元格

      • border-collapse:collaspse;border-spacing:12px;
  • 外边距

    • 用于盒子和盒子中间

    • margin属性的简写与padding一致

    • 外边距的典型应用

      • 外边距可以让块级元素水平居中,但需要满足两个条件

        • 盒子模型指定了宽度
        • 左右的外边距设置为auto
        • 此方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加text-align:center即可
    • 外边距合并问题

      • 使用margin定义块级元素的崔志外边距时,可能会出现外边距的合并

        • 相邻块级元素垂直外边距的合并

          • 取较大值
          • 尽量给一个盒子添加外边距
        • 嵌套块元素垂直外边距的塌陷

          • 对于两个嵌套关系的块元素,父元素有上边距的同时子元素也有上边距,此时父元素塌陷较大的外边距值。

          • 解决方案

            • 为父元素定义一个上边框
            • 可以为父元素定义上内边距
            • 可以为父元素添加overflow:hidden;
  • 内边距

    • padding

      • padding-top
      • padding-right
      • padding-bottom
      • padding-left
    • 简写

      • padding:5px

        • 上下左右都是5像素
      • padding:5px 10px;

        • 上下是5,左右10
      • padding:5px 10px 20px;

        • 上5 左右10 左右20
      • padding:1px 2px 3px 4px

        • 上1 右2,下3左4
    • 内边距会撑大盒子

      • 应用:导航栏字数不一样多,用padding值会撑开盒子
    • 内边距不会撑大盒子的情况

      • 不设置盒子的宽度
  • 清除内外边距

    • *{margin:padding:0;margin:0;}
    • 注意:行内元素为了照顾兼容性,尽量值设置左右内外边距,不要设置上下内外边距,但是转换为块级元素或者行内块元素就可以了
  • 实际内容

盒子有关属性

  • box-align:center;box-pack:center;主流浏览器均不支持
  • box-sizing 规定尺寸元素最终计算,不包含margin

CSS3渐变(菜鸟教程)

线相渐变

  • 上面是0度
  • linear-gradient: 方向 颜色1 颜色2

径向渐变

  • radial-gradient

使用多个颜色节点

圆角边框

语法

  • border-radius

    • border-radius:length

    • 圆形的设法

    • 圆角矩形

      • 高度的一半

盒子阴影

box-shasow

  • h-shadow

    • 水平阴影位置
  • v-shadow

    • 垂直阴影位置
  • blur

    • 模糊距离
  • spread

    • 阴影尺寸
  • color

    • 阴影颜色
  • inset/outside

默认是外阴影,但是不可以写outset,否则不生效

盒子阴影不占用空间,不会影响其他盒子排列

文字阴影(text-shadow)

属性

  • h-shadow
  • v-shadow
  • blur
  • color

浮动

CSS提供传统网页布局的三种方式

  • 普通流(标准流)
  • 浮动
  • 定位

为什么要浮动

  • 浮动可以改变多个块级元素的排列方式

  • 浮动最典型的应用

    • 可以让多个块级元素一行内排列显示
  • 网页布局的第一准则

    • 多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

什么是浮动

  • float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或者另一个浮动的边缘

浮动的特性

  • 浮动元素会脱离标准流

  • 浮动盒子不再保留原先的位置

  • 浮动元素一行内显示并且元顶部对齐

  • 浮动的元素具有行内元素的特性

    • 如果块级盒子没有设置宽度,默认宽度和父级一样宽,添加浮动过后,大小根据内容来决定
    • 浮动的盒子中间是没有缝隙的,是紧挨在一起的
    • 行内元素同理
  • 浮动元素经常和标准流父级搭配使用

    • 为了约束浮动位置,先试用标准流的父元素上下排位置,之后内部子元素采取浮动排列左右位置,复合网页布局的第一标准

清除浮动

  • 为什么要清除浮动

    • 父盒子不方便给高,子盒子浮动过后不占有位置
  • 清除浮动本质

    • 清除浮动造成的影响
    • 如果父盒子有高度则不需要清除浮动
    • 清除浮动过后,父盒子会根据浮动的子盒子自动化检测高度。
  • 清除浮动的策略------(闭合浮动)

    • 方法

      • 额外标签法

        • clear:both
        • 新增的盒子必须是块级元素,不能是行内元素
      • 给父级添加overflow属性

        • overflow:hidden/auto/scroll

          • 缺点:无法显示溢出代码
      • 给父级添加after伪元素

        • 代码

          .clearfix:after{
          content:“”,
          display:block;
          height:0;
          cleasr:both;
          visibility:hidd
          }
          .clearfix{
          *zoom:1;
          }

      • 父级添加双伪元素

        .learfix:before,.clearfix:after{
        content:“”;
        display:table;
        }
        .clearfix:after{
        clear:both;
        }
        .clearfix{
        *zoom:1;
        }

伪类

锚伪类

  • 主要是指的链接义不同方式访问

简单工具悬停

:first-child伪类

  • 匹配某个元素的第一个子元素

:lang伪类为不同的语言定义特殊规则

  • :lang(){}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值