初识css

本文探讨了CSS如何解决HTML的局限性,介绍层叠样式表(CSS)的作用,包括设置布局与外观、结构样式分离,以及行内式、内部样式表和外部样式表的区别。重点讲解了选择器、字体样式、外观属性、背景、CSS特性如层叠性、继承性和优先级,并展示了CSS在现代网页设计中的核心地位和关键应用.
摘要由CSDN通过智能技术生成

CSS

在这里插入图片描述

css初识

html局限性

  • 满足不了设计者需求
  • 操作html属性不方便
  • 里面添加样式臃肿繁琐

层叠(级联)样式表

也是一种标记语言

  • 设置版面布局和外观显示样式

使html从样式中脱离,实现了html专注去做结构呈现,样式交给css。即结构样式相分离

网页丰富多彩,布局更加灵活

引入css样式表(书写位置)

行内式(内联式)

  • <标签名 style=“属性1:属性值1; 属性2:属性值2;”>内容</标签名>

  • style其实就是标签的属性,属性:值; 多组属性; 隔开

  • 只能控制当前的标签和以及嵌套在其中的子标签,造成代码冗余

  • 缺点:没有实现样式和结构相分离

    • 控制一个标签

内部(嵌)样式表

  • 将css代码集中写在HTML文档的head头部标签中,并用style定义

  • type="text/css"在html5中可以省略

  • 只能控制当前页面,没有彻底分离

外部样式表(外链式)

  • 将所有样式放在一个或多个以.css为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到html文档中

  • css文件与HTML文件建立联系

    • 需要放在head标签中,并且得指定link标签的属性
  • rel=“stylesheet”

    • 被链接的文档是一个样式表文件
  • type=“text/css”

    • 定义所链接文档类型
  • href=“url”

    • 定义所连接外部样式表文件的url,可以相对路径,也可以绝对路径
  • 完全实现结构样式相分离,控制整个站点,但需要link引入

css选择器

作用:找到网页中的特定元素,即选择出想要的标签

  • 设置这些标签的样式

css基础选择器

  • 标签选择器

    • 选择某类标签的全部

      • 以html的标签名称作为选择器
    • 优点:快速为页面中同类型的标签统一样式

      • 缺点:不能设计差异化样式
    • 标签选择器,页面同选起,直接写标签,全部不放弃

  • 类选择器

    • .类名{属性1:属性值1;…}

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

      • 不能用标签作为类名
    • 差异化选择,样式点定义,结构类调用,一个或多个,开发最常用

    • 多类名选择器

      • 一个标签内部只能有一个class

      • 类选择器(名字),id选择器(身份证号)。在同一个页面中,允许相同名字的class,不允许有相同名字的id对象出现

      • 可以生效,浏览器兼容

        • 不规范
  • id选择器

    • #类名{属性1:属性值1;…}

      • #定义
      • id调用
  • 通配符选择器

      • {属性1:属性值1;…}
      • 选择所有标签
      • 会匹配页面所有元素,降低页面响应速度,不建议随便使用
    • 不需要调用,自动使用样式

      • 常用于清除所有元素的内外边距

复合选择器

  • 选择器,即选择的标签
  • 看左图

css字体样式属性调试工具

font字体

  • font-size:字体大小

    • 不同浏览器默认的文字大小不同,明确值

    • 100px;

      • 一定加单位

        • 一般加给body
    • 标题标签比较特殊,需特殊指定像素大小

    • 在谷歌下css设置字体大小为12px及以下时,显示都是一样大小,都是默认12px

  • font-family:字体

    • 可以同时指定多个字体,中间英文逗号隔开,不支持第一个字体就会尝试下一个,都没则默认

    • 中文字体加英文引号,英文字体一般不加,英文字体位于中文字体前,若字体名包含空格等特殊字符,加引号

    • arial不区分大小写

      • 一般加给body
    • unicode字体

      • 宋体\5b8b\4f53
      • 微软雅黑\5fae\8f6f\96c5\9ed1
      • 加引号
  • font-weight:字体粗细

    • 无语义

      • normal

        • bold
    • 100-900整百,400=normal,700=bold。没有单位!

  • font-style:字体风格

    • normal正常

      • italic斜体
  • font: italic 700 20px “微软雅黑”;

    • font属性,综合写法,不能换顺序,各属性空格隔开。不需设置可省略,但size family必须有

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

    • sws/lf

      • 妻子

css外观属性

  • color:文本颜色

    • 预定义

    • 十六进制

      • #000000黑色;#ffffff白色;#ff0000红色;

      • 析取

        • 工具FastStone Capture
        • snipaste f1 shift c
    • rgb代码

  • line-height:行间距

    • 单位px像素用的最多

      • line-height:1.2; 用倍数 1.5
    • 上间距、下间距、文本高度

  • text-align:文本水平对齐方式

    • 盒子里面内容对齐

      • left、center、right
    • 给图片添加,需要给他的父亲p标签添加,不可以直接添加到img上

  • text-indent:首行缩进

    • 相对单位 当前标签单位

      • text-indent:2em;
  • text-decoration:文本的装饰

    • none默认,取消下划线,最常用

      • underline下划线
        • line-through贯穿线
        • overline上划线

sublime快捷操作emmet语法

  • div tab

    • div*3 tab
  • 父子级关系 ul>li

    • 兄弟级关系 div+p

      • 综合 dl>dt+dd*3
  • .demo 生成带类名

    • #two 生成带id名
  • 自增符号 $ div{$}*5

    • .demo$*5

css复合选择器

目标:理解应用场景

  • 应用:用后代、并集选择器给元素添加样式,使用伪类选择器

    • 由两个或多个基础选择器,不同组合形成

分类

  • 后代选择器

    • .nav a{ }

      • 元素1 元素2 { 元素声明 }
      • 父级 子级{属性1:属性值1;…}
    • 当标签发生嵌套时,内层时外层的后代

      • 他能选择任何包含在内的标签
      • 后代选择器能选择它的子孙后代
      • 任意基础选择器的组合
    • 符号 空格

  • 子元素选择器

    • div>strong{属性1:属性值1}

      • 只选亲儿子元素,不包含孙子 重孙子元素

        • 符号 >
      • 选择离他最近的标签

  • 交集选择器

    • 既又关系

      • p.red {}

        • 类名为 .red 的段落标签

          • 没有符号
  • 并集选择器

    • 声明样式相同

      • 选择多组标签
    • , 和的意思,通常用于集体声明

      • p, span{}

        • 符号 逗号
  • 链接伪类选择器

    • :link{}

      • 用冒号

        • lvha顺序,不要颠倒

          • 交集选择器的变种

          • 链接需要单独指定样式,给父亲写没有用。浏览器有默认样式。一般写一个大 a统一样式,没有下划线

          • a{}

          • .nav a:hover{rolor:red;}

            • 鼠标放到nav里面的链接才会变色
        • lv包包hao

      • a:link

        • 未访问的链接
      • a:visited

        • 已访问的链接
      • a:hover

        • 鼠标移动到链接上
      • a:active

        • 选定的链接

          • 按下鼠标不松开
  • :focus伪类选择器

    • 选取获得焦点的表单元素

    • input表单元素才能获取

      • input:focus

标签显示模式

标签的三种模式

  • 特点区别

    • 三种显示模式的相互转化

块元素

  • 常见块元素h、p、div、ul、ol、li

  • 独占一行

    • 宽高内外边距可以控制

      • 宽度默认时容器(父级宽度)的100%

        • 是容器、盒子,里面可以放任何标签
  • 只有文字才能组成段落,p里面不能放块级元素

    • 同理 h文字类块级标签不能放其他块级元素

行内元素(内联元素)

  • 常见的行内元素a、strong、b、em、i、del、ins、span、u、s

  • 相邻行内元素在一行,一行可以显示多个

    • 宽高直接设置无效

      • 默认宽度就是它本身的宽度

        • 行内元素只能容纳把文本或其他行内元素
  • 链接里面不能再放链接

    • 特殊情况a里面可以放块级元素,但给a转换一下块级模式最安全

行内块元素

  • 常见标签img、input、td

  • 可以设置宽高内外边距和对齐属性

    • 相邻行内元素在一行,但有空白缝隙,一行可以显示多个

      • 默认宽度就是它本身的宽度
  • 块和行内元素的特点都有

标签显示模式转换display

  • 块转行内 display:inline;

    • 行内转块display:block;

      • 块、行内元素转换为行内块:display:inline-block;

行高

文字垂直居中

  • 行高和高度的三种关系

    • 理解为什么行高等于高度单行文字会垂直居中

      • 实现

        • 会测量行高

顶线

  • 中线

    • 基线

      • 底线

基线到基线的距离为行高

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

  • 上距离总是=下距离

行高等于盒子高度 文字垂直居中

  • 行高大于高度 文字偏下

    • 行高小于高度 文字偏上

css背景

背景颜色color

  • background-color:颜色值;

    • 默认值 transparent 透明的

背景图片image

  • background-image:url(images/liu.jpg);

    • 必须加url,url 不要加引号
    • 默认 none 无背景图

背景平铺 repeat

  • background-repeat:repeat|no-repeat|repeat-x|repeat-y

    • 默认 repeat

背景位置position

  • background-position: length||length

    • length

      • 百分数|由浮点数字和单位标识符组成的长度值
  • background-position:position||position

    • position

      • top|center|bottom|left|center|right 方位名词
  • 必须先指定bgi属性

  • position后面是x坐标或y坐标,可以使用方位名词或者精确单位

  • 如果只指定了一个方位名词,另一个值默认居中,为50%

  • 如果只指定了一个数值,那该数值用于x坐标,另一个默认y坐标,默认居中对齐

  • 如果指定两个值,两个值都是方位名词,则两个值前后顺序无关,比如left、top与top、left效果一致

    • 常用bgp:center top
  • 如果指定两个值,精确单位和方位名字混合使用,则第一个值是x坐标,第二个值时y坐标

背景附着

  • 操作对象是 背景图像——滚动/固定

    • background-attachment:scroll|fixed

背景简写

  • 类似font的模式

    • 顺序推荐,可省略
  • background:color、url 、repeat、attachment、position

背景透明(css3)

  • background:rgba(0,0,0,.3)

  • 参数alpha 透明度 取值范围0~1之间

    • 低于ie9版本不支持
    • 背景半透明是指盒子背景半透明,盒子内容不受影响

CSS三大特性

说出css样式冲突采取的原则

  • 哪些常见样式有继承性

    • 写出css优先级算法

      • 计算常见选择器的叠加值

层叠性

  • 样式冲突 就近原则,不冲突就不层叠

    • 相同选择器,相同属性 实质是覆盖

继承性

  • 子承父业

    • text-、font-、line-、color能继承

优先级

  • 选择器相同——层叠性

    • 选择器不同——选择器权重
  • 计算公式

    • 继承或*通配符 0,0,0,0

    • 标签选择器 0,0,0,1

    • (伪类)类选择器 0,0,1,0

    • id选择器 0,1,0,0

    • style=“”;行内样式表 1,0,0,0

    • 每个!important 无穷大 在属性值后添加

      • 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
        • 选中,计算权重

XMind: ZEN - Trial Version

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值