一、初识CSS

学习目标

  • 能够说出什么是CSS

  • 熟悉CSS的语法规范

  • 掌握CSS的三种引入方式,能够使用3种引入方式写一个红色的小方块

1、什么是CSS?

全称

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

作用

  • 为HTML标记语言提供了一种样式描述

  • 即【设置HTML页面中的元素的位置、排版、样式外观等】 如文本内容(字体、大小、对齐方式等)、图片的外形(宽、高、边框等)

CSS语法规范

CSS 规则由两个主要的部分构成:选择器、一条或多条声明。

选择器:通常是需要改变样式的 HTML 标签。

声明组:以大括号{}括起来。

每条声明由一个属性和一个值组成,属性与属性值之间以【冒号】分隔,用【分号】将每个声明分开。

3、CSS引入方法

当读到一个样式表时,浏览器会根据它来格式化 HTML 文档,插入样式表的方法有三种:行间样式表,内部样式表,外部样式

1、行间样式

概述:

  • 通过HTML元素的style属性设置样式称为行间样式

  • 放在开始标签的内部

  • 代码示例

    <div style="width:100px;height:100px;background-color:red;">div</div>
  • 适用场景:

    单个html标签需要设置样式

    优缺点:比较直观;相同样式需要重复定义,造成代码冗余;作用范围小,不利于后期代码维护;代码不能复用,结构与样式变现不分离

  • 注:任何HTML元素都可以设置行间样式

2、内部样式

  • 概述:

    在head标签的内部,由style标签包含的样式称为内部样式

  • 语法:用style标签对包住样式

  • 适用场景:

    1.单个HTML文档需要设置样式

    优缺点:

    相对于行间样式,代码能够复用,作用范围大于行间样式的范围;

    结构与表现半分离

  • 代码示例

    <head><style> </style>
    </head>

3、外部样式

  • 概述

    • 外部样式表是指将CSS编写在扩展名为.css 的单独文件中,使用link标签引用

    • 位置:在外部新建的css文件中书写样式(后缀名为.css的文件);

      在head标签的内部使用link标签引入在外部新建的css文件

    • 头部标签内部使用link标签引用

      <head><link rel="stylesheet" href="./style.css">
      </head>
      • 说明

        • href="" 资源链接的地址

        • rel表示引入文 件与当前文 档的关系

        • stylesheet为样式表

        • rel="stylesheet"是将本HTML页面和css文件关联起来

  • 适用场景:

多个HTML文档具有相同样式时

优缺点

1.适用范围广,可以使用代码的复用;

2.便于修改和维护代码;

3.结构与表现彻底分离

总结:

  • 行间样式适用于某个元素拥有特殊样式时使用,结构 表现【不分离】

  • 内部样式适用于单个页面拥有特殊样式时使用,结构表现【半分离】

  • 外部样式适用于多个页面拥有相同样式时使用,结构表现【相分离】

4、css注释

什么是注释 :

注释即对代码的解释和说明,不会被浏览器解析执行

注释的语法:

CSS中的注释以"注释以/*开头,以*/结尾,开始和结束中间为注释内容
​/* css 注释 */

生成快捷方式:

ctrl + /

二、CSS选择器

1、什么是选择器

  • CSS选择器是CSS规则的第一部分,每个CSS规则都以一个选择器或一组选择器为开始

  • CSS 选择器即用于“查找”(或选取)要设置样式的 HTML 元素的模式

  • 选择器可以分为基础选择器、复合选择器

2、基本选择器

1、通配(通用)选择器

  • 语法 *{ 样式声明 }

  • 作用:匹配任意类型的HTML元素

<style>        /* 页面上所有元素都被选择 */*{background-color:green;}</style>
<body><p>p</p><div>div1</div><div>div2<div>div3</div></div></body>
​
​/* 一般用于清除浏览器的默认样式 */margin: 0;padding: 0;
权重是0

2、元素名称(标签)选择器

  • 语法: 元素名称{ 样式声明 }

  • 作用:选择所有同一元素名称的所有元素

/* 选择body */
body{background-color:green;
}
/* 选择页面上所有的div */
div{width:100px;height:100px;background-color:red;
}
/* 选择页面上所有的p */
p{background-color: pink;
}

3、类选择器

  • 语法

    • HTML中通过class属性定义

      <div class="box"></div>
    • css中以点进行标识:.

      .类名 {样式声明;
      }
      .box{background-color:red;
      }
  • 作用:选择所有带有指定类名的元素

  • 多类名的使用(词列表)

    • 语法:空格隔开

    •     <p class="box box1 box2">p</p>

4、id选择器

  • 语法

    • HTML中通过id属性定义

      如:

      <div class="box"></div>
    • css中以点进行标识:#

      #id名称 { 样式声明;
      }
      ​
      ​
      #box{background-color:red;
      }
  • 作用:选择所有带有指定id名的元素

注意:具有唯一性,一般用于页面唯一性的元素如头部、底部等,经常和 JavaScript 搭配使用。

类与id的命名规则

  • 见词知义,尽量用英文;

  • 始终建议以字母开头,可以包含数字、字母、下划线等

  • 不要以数字开头

  • 多个单词可以以驼峰式(newsCont)、中划线连接(news-cont)、下划线连接(news_cont)等

总结

  • 总结使用频率

    • 基础选择器中最常用是类选择器

    • id用于页面中唯一模块

    • 标签选择器定义的全局样式,单独使用要慎重

    • *号通常用于重置样式【最不常用】

四、CSS字体 ,文本属性

1、font-family:

  • 作用:设置文本的字体系列

  • 语法:font-family:字体名称

  • 常用值:

    • 一个字体名称或系列名称(介绍常用字体名称、字体系列)

      • 微软雅黑 Microsoft YaHei

      • 宋体 simsun

      • 黑体 HeiTi

      • 楷体 KaiTi

    • 多个字体名称

      • 逗号分开 如果浏览器不支持第一个字体,则会尝试下一个(回退机制)

        1.使用多个字体名称形成一个回退系统(也就是备用字体),当浏览器不支持第一个字体的时候则会尝试下一个字体,多个字体之间用逗号隔开
        ​
        font-family: 'Times New Roman', '楷体', '宋体'
        .box{/*font-family:"微软雅黑","宋体";*//*font-family:"宋体","微软雅黑"; *//*与上一个相比产生的效果不同,谁在前使用哪一个*/font-family:"微软雅黑abc","宋体"; /*第一个任意改写一个系统不存在的字体,会按照第二个字体显示*/
        }

2、font-size

  • 作用:设置字体的大小

  • 语法:font-size:值

  • 常用值:

    • 长度值(通常是像素px)

    • 百分比(相对于父元素字号计算)

  • em

    • 相对单位

    • 如果用于字号,相当于父元素字号计算

  • 一般浏览器默认的大小为16px,支持最小的字体为12px。

3、font-style

  • 作用:设置字体的样式

  • 语法:font-style:值

  • 常用值:

    • normal默认值

    • italic斜体显示

4、font-weight

  • 作用:设置字体粗细

  • 语法:font-weight:值

  • 常用值:

    • normal默认值

    • bold加粗

    • 100-900九级字重, 400相当于normal,700相当于bold

    • 注:不是所有字体都内置了九级字重

5、line-height

  • 作用:设置行高(效果是产生文本行间距)

  • 语法:line-height:值

  • 特性:实现单行文本的垂直居中

  • 测量:文字高+行间距

  • 打开px软件--在视图菜单---标尺(Ctrl+r)

    参考线:在标尺上按住鼠标左键不松手,拖拽鼠标

    按住alt键,放大图纸,为了测量更加准确,滚动滚轮,向外滚表示放大,向内滚表示缩小

    方法:测量两行文字中间的间距,然后除以2,得到平均间距,拉出参考线,进行标注,方便测量

  • 常用值

    • normal默认。设置合理的行间距。

  • px 设置固定的行间距。

  • 百分比:相对于font-size计算

    .box{/*line-height:2;*/
    line-height:200%; /*产生的效果一致都是字号的两倍*/
    }line-height: 26px;如果行高属性值没有单位,那么表示字号的倍数
    20px/2 表示:字体大小是20px,行高是字体的两倍40px

6、font简写

  • 作用:设置所有字体属性

  • 语法:font: 字体风格 字体加粗 字号/行高 字体;

    • 依次【空格】隔开

  • 总结:只有当字体存在简写才是有效的,简写属性可以精简简代码

    font:font-style font-weight font-size/line-height font-family;
    顺序:文字的样式 文字的加粗 文字的字号/行高 文字的字体
    注意:如果font属性有效,则必须要有font-size属性和font-family属性
    font: italic bold 14px/2 '微软雅黑';

web笔记day02相关推荐

  1. Java学习笔记Day02

    Java学习笔记Day02 一.细化Hello程序 1.详解代码 //公有的类,叫做Hello public class Hello{//主方法public static void main(Stri ...

  2. JDBC 学习笔记 day02 用 PreparedStatement 实现 CRUD 操作

    JDBC 学习笔记 day02 PreparedStatement 相比于 Statement 的好处 PreparedStatement 实现 增,删,改 操作 PreparedStatement ...

  3. (B站动力节点老杜MySQL教程)MySQL课堂笔记-day02.txt

    文章目录 文件来源/资料下载: MySQL课堂笔记-day02.txt 1.关于查询结果集的去重? 2.连接查询 2.1.什么是连接查询? 2.2.连接查询的分类? 2.3.在表的连接查询方面有一种现 ...

  4. python web笔记

    python web笔记 目的:开发一个平台(网站)~ 前端开发:HTML.CSS.JavaScript~ Web框架:接收请求并处理~ Mysql数据库:存储数据的地方快速上手:基于Flask We ...

  5. Web笔记-session及cookie

    此博文笔记并不全(对于像本人这样开发经验不足的已经够了),只是记录了本人目前对session和cookie的理解,以及在开发时,应该注意些什么. 首先看下两个概念: session:对象存储特定用户会 ...

  6. 微信小程序基础学习笔记Day02

    学习目标:微信小程序基础Day02 今日目标: 能够使用 WXML 模板语法渲染页面结构 能够使用 WXSS 样式美化页面结构 能够使用 app.json 对小程序进行全局性配置 能够使用 page. ...

  7. Google IO 16 / Mobile Web 笔记

    移动的 Web IO16 的 Web 技术话题大类直接叫作 "Mobile Web",移动的概念已经涵盖了整个 Web,而非只是 Web 的一部分了. 最近几天看了不少 IO16 ...

  8. 马哥2013年运维视频笔记 day02 Linux系统常识

    day02 ①.回顾 SHELL的概念:用户和内核之间进行命令传递的通道 分为:GUI:Graphic User Interface Windows--->桌面 Linux ---> Gn ...

  9. html css web笔记,Web/HTML/CSS/的笔记

    一.web基本介绍 1.Web 是 Worl wide web 的缩写,称为全球广域网,俗称www 2.我们可以将Web理解为当前的一种互利网,对于我们来说更多的就是网站服务. 3.网站我们可以认为是 ...

  10. web笔记Error:That IP address

    前言 题主最近在做一个web服务 在实现过程中有苦有乐,现在记录一下,既方便自己以后回顾,也方便后来的人. 具体细节 在实现过程终遇到了下面的问题: >python manage.py runs ...

最新文章

  1. Bzoj1123 Blockade
  2. python3 自动化交互模块 pexpect 简介
  3. 计算机在音乐教学的应用论文开题报告,音乐教育论文开题报告(范文详解)
  4. python 字符串format使用
  5. 反转了!“只问了1个框架,就给了35K的Python岗”
  6. HTML页面加载完毕后,再运行JS业务
  7. c语言中的-代表什么意思
  8. 图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能
  9. MOSS 2007 / WSS 3.0 运行在Windows Server 2008上不能上传大于28M的文件【续】
  10. 语音助手——未来趋势
  11. 幼儿抽象逻辑思维举例_语言训练幼儿逻辑思维——抽象篇
  12. single cell 数据分析流程及原理
  13. 基于BLM业务领先模型演化的项目管理四张地图
  14. 关于Ubuntu18.04+win10双系统开机引导错误的解决方法
  15. 有道云笔记markdown教程
  16. 连年亏损的企业可以申报国家高新技术企业吗?
  17. 空调遥控器c语言源码,51单片机格力空调遥控器设计源码
  18. Jenkins项目实战之-MacOS High Sierra自动化打包方案的填坑之旅
  19. 怎么攻击天猫商家 java,天猫店铺被恶意攻击,大家看看是怎么做的。
  20. 随机过程学习笔记04 布朗运动

热门文章

  1. 苍穹录java攻略_无限元宝手游《天域OL》新手快速升级攻略_每日必做任务推荐...
  2. 制作图片展示效果(JavaScript)
  3. 飞信现状原因分析及脱困策略
  4. python导入鸢尾花数据集_用Python进行K次交叉验证,探索鸢尾花数据集(含代码)...
  5. 图像处理工具包ImagXpress的清理图像功能简介
  6. YOLOV8改进:CVPR 2023 | 在C2f模块不同位置添加EMA注意力机制,有效涨点
  7. 基于Springboot+Vue的前后端分离系统开发的NBA历史档案馆
  8. 从头开始vue创建项目_从头开始创建数据科学项目
  9. python零基础教程(2)--数据类型:“6”和6有什么区别啊啊啊啊
  10. rhel7红帽7制作全自动安装光盘-实战