CSS3基础内容

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

CSS基本样式

选择器分类

标签选择器

类选择器

利用类选择器画三个盒子

 多类名

id选择器

id选择器和类选择器的区别

通配符选择器

CSS字体属性

字体粗细font-weight

 字体样式

 CSS文本属性

CSS的引入方式

行内样式表行内式

内部样式表嵌入式

外部样式表链接式

 综合案例-新闻页面


CSS基本样式

CSS是层叠样式表的简称CSS是一种标记语言称为CSS样式表

CSS主要用于设置HTML页面中的文本内容、图片的外形以及版面的布局和外观显示样式

结构HTML与样式CSS相分离

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

  • 选择器是用于指定CSS样式的HTML标签花括号内是对该对象设置的具体样式
  • 属性和属性值以“键值对”的形式出现
  • 属性是对指定的对象设置的样式属性例如字体大小、文本颜色等
  • 属性和属性值之间用英文“:”分开
  • 多个"键值对"之间用英文";"分开
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS语法规范</title>
    <style>
        /* 选择器{样式} */
        /* 给谁改样式{改什么样式} */
        p {
            color: red;
            /* 修改了文字大小为12像素 */
            font-size: 12px;
        }
    </style>
</head>
<body>
    <p>有点意思</p>
</body>
</html>

属性值前面冒号后面保留一个空格

选择器(标签)和大括号中间保留空格

选择器分类

选择器分为基础选择器和复合选择器

基础选择器是由单个选择器组成的

基础选择器又包括标签选择器、类选择器、id选择器和通配符选择器

标签选择器

用HTML标签名称作为选择器按标签名称分类为页面中某一类标签制定统一的CSS样式

    <style>
        /* 标签选择器写上标签名 */
        p {
            color: green;
        }
        div {
            color: pink;
        }
    </style>

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

优点能快速为页面中同类型的标签统一设置样式

类选择器

如果想要差异化选择不同的标签单独选一个或者几个标签可以使用类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类选择器</title>
    <style>
        /* 类选择器口诀样式点定义  结构类(class)调用 一个或多个 开发最常用*/
        .red {
            color: red;
        }
        .star-sing {
            color: green;
        }
    </style>
</head>
<body>
    <ul>
        <li class="red">冰雨</li>
        <li class="red">冰</li>
        <li>雨</li>
        <li>大雨</li>
        <li>狂风暴雨</li>
        <li class="star-sing">没下雨</li>
    </ul>
    <div class="red">我也想变成红色</div>
</body>
</html>
  • 类选择器使用"."进行标识后面紧跟类名(不能是HTML中的标签名)
  • 可以理解为给这个标签起了一个名字
  • 长名称或词组可以使用中横线来为选择器命名
  • 不要使用纯数字、中文等命名尽量使用英文字母来表示
  • 命名要有意义尽量使别人一眼就知道这个类名的目的

利用类选择器画三个盒子

<head>
    <title>利用类选择器画三个盒子</title>
    <style>
        .red {
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .green {
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="red">红色</div>
    <div class="green">绿色</div>
    <div class="red">红色</div>
</body>

 多类名

我们可以给一个标签指定多个类名从而达到更多的选择目的。这些类名都可以选出这个标签

<head>
    <title>多类名的使用方式</title>
    <style>
        .red {
            color: red;
        }
        .font35 {
            font-size: 35px;
        }
    </style>
</head>
<body>
    <div class="red font35">张三</div>
</body>
    <style>
        .box {
            width: 100px;
            height: 100px;
        }
        .red {
            background-color: red;
        }
        .green {
            background-color: green;
        }
    </style>

<body>
    <div class="box red">红色</div>
    <div class="box green">绿色</div>
    <div class="box red">红色</div>
</body>
  • 可以把一些标签元素相同的样式(共同的部分)放到一个类里面
  • 这些标签都可以调用这个公共的类然后再调用自己的类
  • 节省CSS代码统一修改也非常方便

id选择器

HTML元素以id属性来设置id选择器CSS中id选择器以“#”来定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>id选择器</title>
    <style>
        /* id选择器的口诀样式#定义结构id调用只能调用一次别人切勿使用 */
        #pink {
            color: pink;
        }
    </style>
</head>
<body>
    <div id="pink">迈克尔杰克逊</div>
</body>
</html>

id选择器和类选择器的区别

  • 类选择器(class)好比人的名字一个人可以有多个名字同时一个名字也可以被多个人使用
  • id选择器好比人的身份证号码全中国唯一的不能重复
  • id选择器和类选择器最大的不同在于使用次数上
  • 类选择器在修改样式中用的最多id选择器一般用于页面唯一性的元素上经常和javaScript搭配使用

通配符选择器

通配符选择器使用"*"定义它表示选取页面中所有元素(标签)

通配符选择器不需要调用自动就给所有的元素使用样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>通配符选择器</title>
    <style>
        * {
            color: red;
        }
        /* *在这里把html body div span li 等等标签都改为了红色 */
    </style>
</head>
<body>
    <div>我的</div>
    <span>我的</span>
    <ul>
        <li>还是我的</li>
    </ul>
</body>
</html>

CSS字体属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字体属性之字体系列</title>
    <style>
        h2 {
            font-family: '微软雅黑';
        }
        p {
            font-family: 'Microsoft YaHei',Arial,Helvetica,sans-serif;
        }
    </style>
</head>
<body>
    <h2>静夜思</h2>
    <p>床前明月光</p>
    <p>疑是地上霜</p>
    <p>举头望明月</p>
    <p>低头思故乡</p>
</body>
</html>
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下如果有空格隔开的多个单词组成的字体加引号
  • 尽量使用系统默认自带字体
  • 一个一个地试如果第一个字体系统中不存在则使用第二个字体系列中都不存在的话就使用系统默认字体

标题标签的字体大小需要单独指定

字体粗细font-weight

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字体属性之字体粗细</title>
    <style>
        .bold {
            /* font-weight: bold; */
            /* 这个700的后面不要跟单位等价于bold都是加粗的效果 */
            /* 实际开发中我们提倡使用数字 */
            font-weight: 700;
        }
        h2 {
            font-weight: 400;
            /* 400是正常的不加粗的 */
        }
    </style>
</head>
<body>
    <h2>静夜思</h2>
    <p class="bold">床前明月光</p>
    <p>疑是地上霜</p>
    <strong>举头望明月</strong>
    <!-- <strong>标签也可以实现字体加粗的效果 -->
    <p>低头思故乡</p>    
</body>
</html>

 字体样式

font-style: italic;

<em>和<i>标签也可以使得字体成为斜体
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>复合属性</title>
    <style>
        /* div文字变倾斜 加粗 字号设置为16像素 微软雅黑 */
        div {
            /* font-style: italic;
            font-weight: 700;
            font-size: 16px;
            font-family: '楷体','微软雅黑'; */
        /* 复写属性简写的方式 节约代码*/
        /* font: font-style    font-weight     font-size/line-weight   font-family 
            使用font属性时必须按上面语法格式中的顺序书写不能更换顺序并且各个属性间以空格隔开
            不需要设置的属性可以省略但必须保留font-size和font-family属性否则font属性将不起作用*/
            font:italic 700 16px '微软雅黑';
        }
    </style>
</head>
<body>
    <div>世界这么大我想去看看钱包这么小哪也去不了</div>
</body>
</html>

 CSS文本属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文本外观属性之颜色</title>
    <style>
        div { 
            /* color: pink; */
            /* color: #ff0000; */
            color: rgb(255,0,0);
        }

            /* 让div盒子里面的文字水平居中对齐 */
        div {
            text-align: center;
        } 
        /* 添加到文本的修饰可以给文本添加下划线、删除线、上划线 */
        div {
            text-decoration: underline;
            /* 下划线 */
        }
        a {
            font-size: 24px;
            text-decoration: none;
            /* 取消a链接默认的下划线 */
        }
        div {
            /* text-indent: 20px; */
             /* 用来指定文本的第一行的缩进通常是将段落的首行缩进 */
            text-indent: 2em;
           /* em是一个相对单位就是当前元素一个文字的大小如果当前元素没有设置大小则会按照父元素的一个文字大小 */
        }
        p {
            font-size: 10px;
            line-height: 30px;
            /* line-height属性用于设置行间的距离可以控制文字行与行之间的距离 */
            /* 行间距主要指的是上间距+文本高度+下间距 */
        }
    </style>
</head>
<body>
    <div>世界这么大我想去看看</div>
    <a href="#">粉红色的回忆</a>
    <p>床前明月光</p>
    <p>疑是地上霜</p>
    <p>举头望明月</p>
    <p>低头思故乡</p>
</body>
</html>

CSS的引入方式

行内样式表行内式

在元素标签内部的style属性中设定CSS样式适合于修改简单样式

style其实就是标签的属性在双引号中间写法要符合CSS规范

可以控制当前的标签设置样式

<p style="color: pink; font-size: 20px;">低头思故乡</p>

内部样式表嵌入式

将所有的CSS代码抽取出来单独放到一个<style>标签中

<style>标签理论上可以放在HTML文档的任何地方但一般会放在文档的<head>标签中

可以方便控制当前整个页面中的元素样式设置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内部样式表</title>
    <style>
        div {
            color: pink;
        }
    </style>
</head>
<body>
    <div>所谓内部样式表,就是在html页面内部写样式,但是单独写到style标签内部</div>
</body>
</html>

外部样式表链接式

实际开发都是外部样式表适合于样式比较多的情况核心是样式单独写到CSS文件中之后把CSS文件引入到HTML页面中使用

引入外部样式表分为两步

①新建一个后缀名为.css的样式文件把所有CSS代码都放入此文件中

②在HTML页面中使用<link>标签引入这个文件

<link rel="stylesheet" href="css文件路径">
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外部样式表</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div>我想去那黄土高坡</div>
</body>
</html>
/* CSS文件里面只有样式没有标签 */
/* 文件名为style.css */

div {
    color: red;
}

 综合案例-新闻页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            font:16px/28px '微软雅黑';
        }
        h1 {
            /* 文字不加粗 */
            font-weight: normal;
            /* 让h1里面的文字水平居中对齐 */
            text-align: center;
        }
        a {
            text-decoration: none;
        }
        .gray {
            color: #888888;
            font-size: 12px;
            text-align: center;
        }
        .search {
            color: #666666;
            width: 170px;
        }
        .btn {
            font-weight: 700;
        }
        p {
            /* 首行缩进2个字 */
            text-indent: 2em;
        }
        .pic {
            /* 想要图片居中对齐则是让它的父亲p标签添加水平居中的代码 */
            text-align: center;
        }
        .footer {
            color: #888888;
            font-size: 12px;
        }
    </style>
</head>
<body>
    <h1>北方高温明日达鼎盛 京津冀多地地表温度将超60℃</h1>
    <div class="gray">2019-07-03 16:31:47 来源: <a href="#">中国天气网</a>  
        <input type="text" value="请输入查询条件" class="search"> <button class="btn">搜索</button>
    </div>
    <hr>
    <p>中国天气网讯 今天3日华北、黄淮多地出现高温天气截至下午2点北京、天津、郑州等地气温突破35℃。预报显示今后三天3-5日这一带的高温天气将继续发酵高温范围以及强度将在4日达到鼎盛预计北京、天津、石家庄、济南等地明天的最高气温有望突破38℃其中北京和石家庄的最高气温还有望创今年以来的新高。</p>

    <h4>气温41.4℃地温66.5北京强势迎七月首个高温日</h4>
    <p class="pic">
        <img src="images/pic.jpeg" alt="中国气温图">
    </p>
    <p>今天华北、黄淮一带的高温持续发酵截至今天下午2点陕西北部、山西西南部、河北南部、北京、天津、山东西部、河南北部最高气温已普遍超过35℃。大城市中北京、天津、郑州均迎来高温日。</p>

    <p>在阳光暴晒下地表温度也逐渐走高。今天下午2点华北黄淮大部地区的地表温度都在50℃以上部分地区地表温度甚至超过60℃。其中河北衡水地表温度高达68.3℃天津站和北京站附近的地表温度分别高达66.6℃和66.5℃。</p>

    <h4>明日热度再升级京津冀携手冲击38℃+</h4>
    <p>中国天气网气象分析师王伟跃介绍明天4日华北、黄淮地区35℃以上的高温天气还将继续升级并进入鼎盛阶段高温强度和范围都将发展到最强。 明天北京南部、天津大部、河北中部和南部、山东中部和西部、山西南部局地、河南北部、东北部分地区的最高气温都将达到或超过35℃。</p>

    <p>不过专家提醒济南被雨水天气完美绕开因此未来一周当地的高温还会天天上岗。在此提醒当地居民注意防暑降温防范持续高温带来的各种不利影响。文/张慧 数据支持/王伟跃 胡啸 审核/刘文静 张方丽</p>

    <p class="footer">本文来源中国天气网 责任编辑刘京_NO5631</p>
</body>
</html>

chrome调试工具的使用

左边是HTML元素结构右边是CSS样式

如果点击元素发现右侧没有样式引入极有可能是类名或者样式引入错误

如果有样式但是样式前面有黄色叹号提示则是样式属性书写错误

Ctrl+0复原浏览器大小

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: CSS