二、CSS入门

一、基本介绍

  • CSS: Cascading Style Sheet,层叠样式表,标记语言
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--style: 对应的样式
        p: 选择器,对html中哪个元素进行样式修改
           具体的样式: 通过k-v的方式来进行赋值-->
    <style>
        p {
            color: red;
            font-size: 20px; /*px代表像素*/
        }
    </style>
</head>
<body>

<p>有点意思</p>
</body>
</html>

1. 选择器

1.1 标签选择器

  • 利用标签名作为选择器
  • 能够针对页面的所有同名标签进行选择,但是对这些标签中的数据不能差异化显示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            color: green;
        }

        div {
            color: red;
        }
    </style>
</head>
<body>

<p>青椒</p>
<p>黄瓜</p>
<p>青枣</p>

<div>西红柿</div>
<div>圣女果</div>
<div>火龙果</div>

</body>
</html>

1.2 类选择器

  • 差异化选择不同的标签,单独选一个或几个标签,使用类选择器
  • 开发最常用
  • 一个html骨架,可以用多个类选择器来修饰
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*类选择器: 名字自己定义,不能和标签选择器重名*/
        .erick-style {
            color: red;
        }

        .my-style {
            font-size: 30px;
        }
    </style>
</head>
<body>

<p class="erick-style">青椒</p>
<p>黄瓜</p>
<p>青枣</p>

<div class="erick-style my-style">西红柿</div>
<div>圣女果</div>
<div>火龙果</div>

</body>
</html>

1.3 id选择器

  • html骨架中id是唯一的,id选择器一般适用于页面中唯一的元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--ID选择器: 只能被调用一次,因为html骨架中id是唯一的-->
    <style>
        #erick-style{
            color: red;
        }
        #other-style{
            color: red;
        }
    </style>
</head>
<body>

<p id="erick-style">青椒</p>
<p>黄瓜</p>
<p>青枣</p>

<div id="other-style">西红柿</div>
<div>圣女果</div>
<div>火龙果</div>
</body>
</html>

1.4 通配选择器

  • 模糊匹配,选择对应的标签
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            color: red;
        }
    </style>
</head>
<body>

<p>青椒</p>
<p>黄瓜</p>
<p>青枣</p>

<div>西红柿</div>
<div>圣女果</div>
<div>火龙果</div>
</body>
</html>

2.字体

2.1 基本使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!-- 1. font-family:
                 1.1 字体, 可以配置多个字体,依次解析,保证不同系统都能检测到
                 1.2 一般是用来直接修饰body,保证整个页面都是统一字体
         2. font-size:
                 2.1 字体大小一般是用像素表示
                 2.2 谷歌浏览器默认是16px
                 2.3 不同浏览器可能不同,因此一般显示的指定大小
                 2.4 可以给body来统一指定
                 2.5 标题比较特殊,需要单独指定像素大小
         3. font-weight:
                 3.1 文字粗细
                 3.2 normal, bold,  bolder, number(不要放px)
                 3.3 开发中更加提倡用数字
         4. font-style:
                 4.1 文字样式
                 4.2 italic倾斜, normal
                 4.3 实际开发主要是让倾斜的文字变得不倾斜-->
    <style>
        p {
            font-family: "Microsoft YaHei UI", "Times New Roman";
            font-size: 40px;
            font-weight: 700;
            font-style: italic;
        }
    </style>
</head>
<body>

<p>Hello 舒展</p>
</body>
</html>

2.2 复合属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 复合写法:
           1. 必须严格遵守顺序: font: font-style font-weight  font-size/line-height  font-family
           2. 不需要设置的属性可以省略(取默认值), 但必须保留font-size 和 font-family, 否则font属性不起作用-->
    <style>
        p {
            font: italic 700 40px "Microsoft YaHei UI", "Times New Roman";
        }
    </style>
</head>
<body>
<p>Hello 舒展</p>
</body>
</html>

3. 文本属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 1. color: 文本颜色,三种表示方式
               1.1 预定义颜色:red,green,blue等
               1.2 十六进制: #FF6600, 比较常用
               1.3 RGB代码: rgb(255,0,0)
         2. text-align: 元素内 文本内容的水平对齐方式
               1.1 left(默认), right, center
               1.2 本质是元素盒子内部的对齐
         3. text-decoration: 文本修饰,下划线,删除线,上划线等
               3.1 none(默认), underline, overline(上划线),line-through(删除线)
               3.2 可以用来去掉超链接的下划线
         4. text-indent: 首行缩进,用于p标签
               4.1 px:显示指定缩进几个像素
               4.2 em:针对当前文本,当前元素2个文字大小的距离
         5. line-height: 行间的距离,行高
               5.1 行间距: 文本高度+上间距+下间距
         -->
    <style>
        p {
            color: rgb(255, 0, 0);
            text-align: left;
            text-decoration: underline;
            text-indent: 2em;
            line-height: 20px;
        }
    </style>
</head>
<body>

<p>Hello 舒展</p>
<p>Hello 舒展</p>
</body>
</html>

4. CSS引入方式

4.1 内部样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--内部样式表:
          1. 写在html页面内部,将所有的css代码抽取出来,单独放在style标签中
          2. style标签理论上可以放在html文档任何位置,一般放在head标签中
          3. 方便控制整个html页面的所有元素
          4. 代码结构清晰,但html骨架和css样式没有分离-->
    <style>
        p {
            color: red;
        }
    </style>
</head>
<body>

<p>Hello Erick</p>
</body>
</html>

4.2 行内样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--行内样式表: 在元素标签内部的style属性中设定css样式
               1. 适合简单样式修改
               2. 只能控制当前的标签设置样式-->
<p style="color: red; font-size: 20px">Hello Erick</p>

</body>
</html>

4.3 外部样式

  • CSS文件
p {
    color: black;
    font-size: 50px;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--链接到外部的样式, 实现样式和html骨架分离-->
    <link rel="stylesheet" href="erickStyle.css">
</head>
<body>

<p>Hello Erick</p>
</body>
</html>

5. WebStorm快捷键

# 快速生成多个div
div*10     然后TAB键

# 快速生成父子元素: 适用于很多不同的元素
ul>li    然后TAB键

# 快速生成兄弟元素: 适用于很多不同的元素
div+p   然后TAB键

二、CSS进阶

1. 复合选择器

  • 将基础选择器进行组合即可

1.1 后代选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--后代选择器: 包含选择器,
    1. 可以选择父元素里面子元素
    2. 按照规律继续往下选择
    3. 基础选择器可以是任意的选择器类型-->
    <style>
        ul li {
            background-color: red;
        }

        ul li a {
            color: green;
        }
    </style>
</head>
<body>
<ul>
    <li>Lucy</li>
    <li>Jerry</li>
    <li>Tom</li>
    <li><a href="www.baidu.com">百度一下</a></li>
</ul>

<ol>
    <li>Lucy</li>
    <li>Jerry</li>
    <li>Tom</li>
</ol>

</body>
</html>

1.2 子选择器

  • 只能选择子元素,而不能是孙子元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!-- 子选择器:
       1. 只能作用于父元素的子元素,不能继续往下
       2. 可以作用域任何基础选择器,用 > 来表示-->
    <style>
        .nav > p {
            color: green;
        }
    </style>
</head>
<body>

<div class="nav">
    <p>Hello</p>
    <div>
        <p>你好</p>
    </div>
</div>

</body>
</html>

1.3 并集选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--并集选择器: 可以将公共部分的样式抽取出来
        1. 每一个选择器可以是任意基础选择器的组合-->
    <style>
        p, h2, .tev, ul li {
            color: green;
        }
    </style>
</head>
<body>

<p>Hello</p>
<h2>你好</h2>
<div class="tev">彩电</div>
<ul>
    <li>水果</li>
    <li>蔬菜</li>
    <li>肉蛋</li>
</ul>
</body>
</html>

1.4 伪类选择器

a. 链接伪类选择
<head>
    <meta charset="UTF-8">
    <title>Title</title>
   
    <style>
    /*按照顺序定义*/
    
        /*未点击的链接*/
        a:link {
            color: black;
            text-decoration: none;
        }
        /*点击后的链接*/
        a:visited{
            color: red;
        }
        /*鼠标经过时*/
        a:hover{
            color: green;
        }
        /*鼠标点击,但是没有松开时*/
        a:active{
            color: darkmagenta;
        }
    </style>
</head>
<body>

<a href="#">小猪佩奇</a>
</body>
b. focus伪类选择器
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*获得光标的input元素: 经过哪个input表单,就会变颜色*/
        input:focus {
            background-color: green;
            color: red;
        }
    </style>
</head>
<body>

<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值