2022-07-10 第八小组 张明敏 学习笔记

目录

一、CSS 概述

1.概述

2.CSS选择器

3.CSS复合选择器

1、后代选择器

2、交集选择器

3、并集选择器

二、CSS美化网页

1.标签

2.字体样式

3.文本属性

4.超链接样式

5.网页背景

6.列表样式

三、盒子模型

1. 边框border

2.外边距margin

3.内边距padding

四、display属性

1、控制元素的显示和隐藏

2、块级元素与行级元素的转变

五、浮动

1.定义CSS样式的方式:

思考题:标签选择器和类选择器哪个优先级高?

    2.CSS选择器

    伪类选择器(link,hover,active,visited)

3.CSS层叠样式表

4.CSS常用的单位

5.css选择器:

六、心得体会


CSS 概述

1.概述

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件
  • 多个样式定义可层叠为一

2.CSS选择器

1、 标签选择器

2、 类选择器

3、 ID选择器

3.CSS复合选择器

1、后代选择器

● 在CSS选择器中通过嵌套的方式,对特殊位置的HTML标签进行声明

● 外层的标签写在前面,内层的标签写在后面,之间用空格分隔

● 标签嵌套时,内层的标签成为外层标签的后代

2、交集选择器

● 由两个选择器直接连接构成,选中二者各自元素范围的交集

● 第一个必须是标签选择器,第二个必须是类选择器或者ID选择器

● 选择器之间不能有空格,必须连续书写

3、并集选择器

● 多个选择器通过逗号连接而成

● 利用并集选择器同时声明风格相同样式

二、CSS美化网页

1.<span>标签

2.字体样式

● Font-family:设置字体类型

● Font-size:设置字体大小

● Font-weight:设置字体粗细

3.文本属性

● Color:设置文本颜色

● Text-align:设置元素水平对齐方式

● Text-indent:设置首行文本的缩进

● Line-height:设置文本的行高

● Text-decoration:设置文本的装饰

4.超链接样式

实际网页开发中通常只设置两种状态,一种是a{    }—包括链接的各个状态,一是a:hover {    }---鼠标移到对象上的样式

5.网页背景

● Background-color:背景颜色

● Background-image:背景图像

● Background-repeat:背景重复方式

● Background-position:背景定位。---属性值可以为数值,可以为百分比,也可以为关键词;第一个为水平方向,第二个为垂直方向。

● Background:背景样式简写

Background:背景颜色 背景图片 背景定位 背景是否重复显示;

例:background:#C00 url(image/arrow-down.gif) 205px 10px no-repeat;

6.列表样式

● List-style-type:none     无标记符号

● List-style-type:disc        实心圆

● List-style-type:circle        空心圆

● List-style-type:square    实心正方形

● List-style-type:decimal    数字

三、盒子模型

CSS 盒子模型,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。

 <style>
        .div1{
            /* 盒子模型;width.height. */
            height: 200px;
            width: 200px;
            background-color: aquamarine;
            padding-top: 50px;
            margin-top: 100px;
            border: 10px solid chocolate;
            /* 设置盒子模型的尺寸计算方式 */
            box-sizing: border-box;
        }
        .div2{
            /* 盒子模型;width.height. */
            height: 200px;
            width: 200px;
            background-color: rgb(182, 127, 255);
        }
    </style>

1. 边框border

  • border-width:边框粗细
  • border-style:边框样式  dashed:虚线;solid:实线;
  • border-color:边框颜色
  • border:边框设置连写
  • border:边框粗细 边框样式 边框颜色 或者
  • border:边框颜色 边框粗细 边框样式
  • border:#f00 1px solid;
  • border:#f00 1px solid;

2.外边距margin

margin是设置对象外边距外延边距离。

(1)margin说明

  • margin的值有三种情况,可以为正整数和负整数并加单位如PX像素;可以为auto自动属性(margin-left:auto 自动);可以为百分比(%)值。
  • margin-left:对象左边外延边距
  • margin-right:对象右边外延边距
  • margin-top:对象上边外延边距
  • margin-bottom:对象下边外延边距

(2)外边距margin缩写

  • A、只有上下情况缩写
  • 原始:margin-top:5px; margin-bottom:6px
  • 缩写简写为:margin:5px 0 6px 0或margin:5px auto 6px auto
  • B、只有左右情况缩写
  • 原始:margin-left:5px; margin-right:6px
  • 缩写简写为:margin:0 6px 0 5px或margin:auto 6px auto 5px
  • C、四边相同值缩写
  • 原始:margin-top:5px; margin-bottom:5px; margin-left:5px; margin-right:5px
  • 缩写:margin:5px;
  • D、四边不同值缩写:上 右 左 下
  • 原始:margin-top:5px; margin-bottom:6px; margin-left:7px; margin-right:8px
  • 缩写:margin:5px 8px 6px 7px;
  • E、四边其中上下值和左右值各相同缩写
  • 原始:margin-top:5px;margin-bottom:5px;
  • margin-left:7px; margin-right:7px
  • 缩写:margin:5px 7px;
  • F、设置布局局中
  • margin:0 auto 设置对象上下间距为0,左右自动。
  • 可拆分: margin:0 auto 0 auto;
  • 还可拆分为:margin-left:auto;margin-right:auto;
  • margin-top:0;margin-bottom:0;

3.内边距padding

  • A、四边相同padding简写
  • 如果padding四边设置值相同,假如为5px, CSS简写为:padding:5px;
  • B、四边不同padding简写
  • Padding:40px 30px 50px 20px;
  • 注意每个数值后一个空格间隔隔开
  • 解释分别意思
  • 第一个40px代表“上”padding-top:40px
  • 第二个30px代表“右”padding-right:30px;
  • 第三个50px代表“下”padding-bottom:50px;
  • 第四个20px代表“左”padding-left:20px;
 <style>
        div{
            height: 200px;
            width: 200px;
            background-color: aquamarine;
            /* 边框线的样式 */
            border-style: dotted;
            /* 边框线的宽度 */
            border-width: Spx;
            /* 边框线的颜色 */
            border-color: beige;
            /* css3的新增属性,半径 */
            border-radius: 55px;
        }
        table{
            border-collapse: collapse;
            border-spacing: 0ch;
            border-left: 1px solid pink;
            border-top: 1px solid pink;
            /* border: 1px bisque; */
            /* border-collapse: unset; */
        }
        table tr{
            border-bottom: 1px pink;
        }
        table tr td{
            border-right: 1px pink;
        }
    </style>

四、display属性

  • 1、控制元素的显示和隐藏

  • 2、块级元素与行级元素的转变

  •  block 块级元素的默认值,元素会被显示为块级元素,该元素前后会带有换行符
  •  inline 行内元素/内联元素的默认值。元素会被显示为内联元素,该元素前后没有换行符
  •  none 设置元素不会被显示
  •  inline-block:行内块元素  css2.1新增的特性。
  • 既拥有了block元素可以设置width和height的特性,又保持了inline元素不换行的特性。

五、浮动

Float属性:
属性值    说明
Left    元素向左浮动
Right     元素向右浮动
None   默认值,元素不浮动

1.假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);

2.如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

3.如何嵌入?(样式如何显示html元素)

4.样式通常存储在样式表中(先定义样式表),再把样式表添加到html元素中

1.定义CSS样式的方式:

  •     行内样式(内联样式)

·行内样式仅针对当前标签生效,如果当前的样式不需要复用,可以用行内样式

·优先级高(优先级比内页样式的优先级高,如果同时存在,先显示行内样式)

<!-- 内页样式  style是标签-->
<style>
    /* 跟据标签前来命名 */
    /* 选择器selector */
    /* 标签选择器,可以让页面上所有的p 标签都对应所有的*/
    p {
        background-color: bisque;
    }
    span {
        background-color: aqua;
    }


    /* 声明一个样式,并起个名字.bg */
    .bg {
        background-color: blueviolet;
    }


    /* id选择器   理解*/
    #spring {
        background-color: aquamarine;
    }
        </style>
<body>
    <p>哈哈哈哈</p>
    <p style="background-color: red;">啦啦啦啦啦</p>
    <p>嘿嘿嘿</p>

    <div class="bg">好好好</div>
    <!-- 起名字.bg,其他不用, class类 -->
    <span>kkkk</span>

    <div id="spring">hhhhhh</div>
</body>
  •     内页样式(嵌入样式)
  • ·声明一个样式:在head标签中style中声明
  • 给样式起名:
  • A:标签选择器(根据标签命名)
  • B:类选择器
  • 类选择器允许以一种独立于文档元素的方式来指定样式。
  • 该选择器可以单独使用,也可以与其他元素结合使用。
  • 提示:只有适当地标记文档后,才能使用这些选择器,所以使用这两种选择器通常需要先做一些构想和计划。
  • 要应用样式而不考虑具体设计的元素,最常用的方法就是使用类选择器。
  • C:id选择器(id:在当前页面的唯一标识,不能重复)

思考题:标签选择器和类选择器哪个优先级高?

声明样式的时候需要用一个英文的“.”,选择样式通过class属性,class属性里不写“.”

声明样式需要一个“#”,对应的元素的id要匹配

  •     外部样式(推荐)
  •  <!-- 外部样式 推荐 -->
        <link rel="stylesheet" href="my.css">
    </head>
    <body>
        <p class="bg">好好好</p>
    </body>

    2.CSS选择器

  1. 标签选择器
  2. 类选择器:一个标签元素是可以选择多个样式,样式名中间用空格隔开
  3. Id选择器:ID 选择器允许以一种独立于文档元素的方式来指定样式。
  4. 选中页面上所有的标签(div,p)
  • 选中紧跟着div的p(div+p)
  • 选中页面上所有带有type属性的标签([type])
  • 选中页面上所有带有type=text属性的标签([type=name])
  • 选中页面上type属性包含某个单词的所有元素([type~=t])
  • 选中div里面的p(无论嵌套多少层,都可以找到)(div p)

  • 选中div里面的直接子标签(div>p)

    伪类选择器(link,hover,active,visited

  1. 选中第几个对应的元素(nth:child()
  2. 选中所有被选中的元素(:checked)
  /* 默认选择器 a .a 都可以 */
       a:link{
            color: brown;
        }
        /* 鼠标悬停 */
        a:hover{
            color: aqua;
        }
        /* 元素被激活 */
        a:active{
            color: green;
        }
        /* 点过的链接 */
        a:visited{
            color: bisque;
        }

3.CSS层叠样式表

  1. 层叠性:如果样式冲突,遵循就近原则,哪个样式离结构近就执行哪个样式;如果样式不冲突,就不层叠,直接用
  2. 继承性:子标签会继承父标签的某些样式,(文本的颜色、字号、背景颜色等)
  3. 权重(优先级)

    (1) 继承的样式权重为最低0

    (2) 行内样式权重最高100 E

    (3) 如果权重相同,就近原则

    (4) !important无限大

     优先级:类>标签>id

    (1)继承的权重最低

    (2)行内样式的权重最高

    (3)如果权重相同,就近原则

    (4)!Important改变权重(无限大)

4.CSS常用的单位

  1. px 像素(绝对单位)一个像素代表一个点。
  2. em (相对单位)会参考它的父级元素,设计字体时用的较多。父级元素的字体是16px,要设置元素的字体大小为2em,当前元素的字体大小就是32px。
  3. rem (相对单位)由页面决定。当我们改变了浏览器的字号设置时,页面的字号也会随之发生变化。应用在老人版电子设备。
  4. % 百分比(相对单位) 相对于父级元素的比例。

5.css选择器:

1、标签选择器、一个标签样式名中间用空格隔开

2、类选择器:

3、id选择器:id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

id 选择器以 "#" 来定义。

4、div,p;选中页面上所有的div和p元素

5、div p:选中div黑面的D.无论嵌套多少层,都可以找到

6、div>p:选中div里面的直接字标签p

7、div+p:选中紧跟着div的p

8、[type]:选中页面上所有带有type属性的标签

9、type=text]:选中页面上所有带有type=text属性的标签

10、[type =t]:选中页面上type属性包含单词的所有元素

11、伪类选择器::link :hover·active:visited

12、nth-childO:选中第几个对应的元素

13、:checked:选中所有被选中的元素

六、实例

1.html:

<body><!-- layout布局 -->
    <div class="rg_layout">
        <div class="rg_left">
            <p>新用户注册</p>
            <p>USER REGISTER</p>

        </div>
    
        <div class="rg_center">
            <div class="rg_form">
                <!--定义表单 form-->
                <form action="#" method="post">
                    <table>
                        <tr>
                            <td class="td_left"><label for="username">用户名</label></td>
                            <td class="td_right"><input type="text" name="username" id="username" placeholder="请输入用户名"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="password">密码</label></td>
                            <td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="email">Email</label></td>
                            <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="name">姓名</label></td>
                            <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="tel">手机号</label></td>
                            <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label>性别</label></td>
                            <td class="td_right">
                                <input type="radio" name="gender" value="male"> 男
                                <input type="radio" name="gender" value="female"> 女
                            </td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="birthday">出生日期</label></td>
                            <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期"></td>
                        </tr>
    
                        <tr>
                            <td class="td_left"><label for="checkcode" >验证码</label></td>
                            <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">
                                <img id="img_check" src="../img/verify_code.jpg">
                            </td>
                        </tr>
    
    
                        <tr>
                            <td colspan="2" align="center"><input type="submit" id="btn_sub" value="注册"></td>
                        </tr>
                    </table>
    
                </form>
    
    
            </div>
    
        </div>
    
        <div class="rg_right">
            <p>已有账号<a href="#">立即登录</a></p>
        </div>
    
    </div>
    
 
    
</body>

2.css

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

/* 设置背景图片 */
body {
    background: url("../img/register_bg.png") no-repeat center;
}

/* 设置layout */
.rg_layout {

    width: 900px;
    height: 500px;
    border: 8px solid #EEEEEE;
    background-color: white;
    /*让div水平居中*/
    margin: auto;
}

/* 设置左组件 */
.rg_left {
    float: left;
    margin: 15px;
}

/* 设置左组件第一个元素 */
.rg_left>p:first-child {
    color: #FFD026;
    font-size: 20px;
}

/* 设置左组件最后一个元素 */
.rg_left>p:last-child {
    color: #A6A6A6;
    font-size: 20px;
    ​
}

.rg_center {
    float: left;
}

.rg_right {
    float: right;
    margin: 15px;
}

.rg_right>p:first-child {
    font-size: 15px;
}

.rg_right>p a {
    color: red;
}

.td_left {
    width: 100px;
    text-align: right;
    height: 45px;
}

.td_right {
    padding-left: 50px;
}

​ #username,
#password,
#email,
#name,
#tel,
#birthday,
#checkcode {
    width: 251px;
    height: 32px;
    border: 1px solid #A6A6A6;
    /*设置边框圆角*/
    border-radius: 5px;
    padding-left: 10px;
}

#checkcode {
    width: 110px;
}

​ #img_check {
    height: 32px;
    vertical-align: middle;
}

#btn_sub {
    width: 150px;
    height: 40px;
    background-color: #FFD026;
    border: 1px solid #FFD026;
}

3.效果

 七、心得体会

今天还是很有收获的,对浮动和盒子模型掌握不是很好,上课听懂了,上手总是错。累累累!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值