当前位置: 首页 > news >正文

31.前端笔记-CSS-CSS3盒子模型和其他特性

1、CSS3盒子模型

原来的CSS盒子设置了border和padding属性,就会撑大盒子。
现在CSS3中可以通过box-sizing来指定盒模型,有两个值:

  • content-box:盒子大小是width+padding+border
  • bordr-box:盒子大小就是width,padding和border不会撑大盒子(前提是padding和border不会超过width宽度)
    这样计算盒子大小的方式就改变了
<!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>
        div{
            width: 150px;
            height: 150px;
            border: 30px solid red;
            padding: 20px;
        }
        p{
            width: 150px;
            height: 150px;
            border: 30px solid red;
            padding: 20px;
            box-sizing:border-box;
        }
    </style>
</head>
<body>
    <div>肖战</div>
    <p>王一博</p>
</body>
</html>

在这里插入图片描述
应用:

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

2、图片变模糊

CSS3滤镜filter属性:可以将模糊或颜色偏移等图形效果应用于元素
语法:

filter:函数();
filter:blur(5px);//blur模糊处理,数值越大越模糊
<!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>
        img{
            filter: blur(5px);
        }
        /* 鼠标悬浮,不模糊 */
        img:hover{
            filter: blur(0);
        }
    </style>
</head>
<body>
    <img src="../images/bg1.png" alt="">
</body>
</html>

在这里插入图片描述

3、calc函数

用+ - * /进行运算
语法:

width:calc(100% - 80px); //符号前后加空格

练习:

<!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>
        .box{
            width:150px;
            height: 100px;
            background-color: red;
        }
        /* 实现子元素总是比父元素的宽度小30px */
        .son{
            width: calc(100% - 30px);
            height: 50px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="son"></div>
    </div>
</body>
</html>

在这里插入图片描述

4、CSS3新增过渡属性**

4.1 过渡使用

谁要过渡,给谁加

transition:要过渡的属性 花费时间 运动曲线 何时开始;

属性值说明:

  • 属性:想要变化的css属性,width\height等,如果所有属性都想过渡效果,直接写个all
  • 花费时间:单位是秒s(单位必须写)
  • 运动曲线:默认是ease(可以省略)
linear:匀速
ease:逐渐慢下来
ease-in:加速
ease-out:减速
ease-in-out:先加速后减速
  • 何时开始:可以省略,单位是秒(必须写单位),可以设置延迟触发时间,默认是0s
<!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>
        div{
            width: 300px;
            height: 50px;
            background-color: pink;
            transition: width 1s ease-in 1s;
        }
        div:hover{
            width: 100px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</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>Document</title>
    <style>
        div{
            width: 300px;
            height: 50px;
            background-color: pink;
            /* transition: width 1s ease-in 0s; */
            transition: width 1s ease-in 0s,height 2s;
        }
        div:hover{
            width: 100px;
            height: 100px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

或者写all:

<!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>
        div{
            width: 300px;
            height: 50px;
            background-color: pink;
            /* 单个属性变化 */
            /* transition: width 1s ease-in 0s; */
            /* 多个属性变化 */
            /* transition: width 1s ease-in 0s,height 2s; */
            /* 多个属性变化 */
            transition: all 0.5s;
        }
        div:hover{
            width: 100px;
            height: 100px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

过渡属性2

4.2 过渡练习-进度条制作

<!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>
        .bar{
            width: 100px;
            height: 10px;
            border: 1px red solid;
            padding: 1px;
            border-radius: 5px;
        }
        .bar_in{
            width: 50%;
            height: 100%;
            background-color: red;
            transition: width 1s ;
            border-radius: 5px;
        }
        .bar:hover .bar_in{
            width: 100%;
        }
    </style>
</head>
<body>
    <div class="bar">
        <div class="bar_in"></div>
    </div>

</body>
</html>

在这里插入图片描述

4.3 过渡练习-图片切换

<!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>
        .box{
            position: relative;
            width: 120px;
            height: 58px;
            overflow: hidden;
        }
        .banner{
            position: absolute;
            width: 300px;
            height: 58px;
            transition: left 1s ease 1s;
        }
        .box:hover .banner{
            left:-124px;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="banner">
            <img src="../images/bg3.jpg" alt="">
            <img src="../images/bg1.png" alt="">
        </div>
    </div>
    
</body>
</html>

5、广义的HTML5

HTML5广义:HTML5本身+CSS3+JavaScript

相关文章:

  • C语言split分割字符串
  • Python篇之编译py文件为pyc文件的方法总结
  • Windows学习总结(25)—— Windows 11 cmd 命令大全
  • 识破贷后资金归集——关联网络
  • 关于sysdiag的利用
  • 【推送位置苹果群发iMessage推】如果Windows和Linux实现不同的传输层协议,那末因为数据格式的不同
  • 12.6、后渗透测试--Windows系统下信息收集模块
  • 含参PDE(偏微分方程)的神经网络并行编程mpi4py
  • C/C++程序的断点调试 - Visual Studio Code
  • 墨家在中国为什么消失得这么彻底?
  • 面试必备:分库分表经典15连问
  • 微信支付-全面详解(学习总结---从入门到深化)
  • 【MySQL】数据库基础知识汇总和增删改查操作
  • 【云计算与大数据技术】文件存储格式行式、列式、GFS、HDFS的讲解(图文解释 超详细)
  • 股票l2接口的委托数据有什么作用?
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • AWS实战 - 利用IAM对S3做访问控制
  • Babel配置的不完全指南
  • Java编程基础24——递归练习
  • java正则表式的使用
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • npx命令介绍
  • overflow: hidden IE7无效
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • underscore源码剖析之整体架构
  • Yii源码解读-服务定位器(Service Locator)
  • 阿里云前端周刊 - 第 26 期
  • 对超线程几个不同角度的解释
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 数据可视化之 Sankey 桑基图的实现
  • 微信小程序--------语音识别(前端自己也能玩)
  • 无服务器化是企业 IT 架构的未来吗?
  • 小试R空间处理新库sf
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • (2022 CVPR) Unbiased Teacher v2
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (五)网络优化与超参数选择--九五小庞
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 项目指定SDK版本
  • .NET DataGridView数据绑定说明
  • .net wcf memory gates checking failed
  • .NET 表达式计算:Expression Evaluator
  • .net 获取url的方法
  • .NET4.0并行计算技术基础(1)
  • .Net的DataSet直接与SQL2005交互
  • .ui文件相关
  • /etc/skel 目录作用
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @property @synthesize @dynamic 及相关属性作用探究
  • @vue/cli 3.x+引入jQuery