网页编程和设计 CSS3(五)

简介: 网页编程和设计 CSS3(五)

十二、CSS3新特性

12.1圆角

使用 CSS3 border-radius 属性,你可以给任何元素制作 "圆角"

border-radius 属性,可以使用以下规则:

  1. 四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角
  2. 三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角
  3. 两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角
  4. 一个值: 四个圆角值相同
   <style>
        div{
            margin: 10px;
        }
        .box1 {
            border-radius: 15px 50px 30px 5px;
            background: #8AC007;
            padding: 20px;
            width: 200px;
            height: 150px;
        }
        .box2 {
            border-radius: 15px 50px 30px;
            background: #8AC007;
            padding: 20px;
            width: 200px;
            height: 150px;
        }
        .box3 {
            border-radius: 15px 50px;
            background: #8AC007;
            padding: 20px;
            width: 200px;
            height: 150px;
        }
    </style>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>

12.2阴影

box-shadow 向框添加一个或多个阴影。

box-shadow: h-shadow v-shadow blur color;
描述
h-shadow 必选,水平阴影的位置
v-shadow 必选,垂直阴影的位置
blur 可选,模糊距离
color 可选,阴影的颜色
    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: #8ac007;
            margin: 50px;
            box-shadow: 10px 10px green;
        }
    </style>
<div class="box"></div>

给阴影添加一个模糊效果

    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: #8ac007;
            margin: 50px;
            box-shadow: 10px 10px 5px green;
        }
    </style>
<div class="box"></div>

三个方向的阴影效果

 <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: #8ac007;
            margin: 50px;
            box-shadow: 0 10px 30px rgba(0,0,0,.5);
        }
    </style>
<div class="box"></div>

十三、动画

动画是使元素从一种样式逐渐变化为另一种样式的效果

您可以改变任意多的样式任意多的次数

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%

0% 是动画的开始,100% 是动画的完成。

13.1@keyframes创建动画

使用@keyframes规则,你可以创建动画

        @keyframes name {
        from|0%{
            css样式
        }
        percent{
            css样式
        }
        to|100%{
            css样式
        }
        }

name:动画名称,开发人员自己命名;

percent:为百分比值,可以添加多个百分比值

13.2animation执行动画

animation: name duration timing-function delay iteration-count direction;
描述
name 设置动画的名称
duration 设置动画的持续时间
timing-function 设置动画效果的速率(如下)
delay 设置动画的开始时间(延时执行)
iteration-count 设置动画循环的次数,infinite为无限次数的循环
direction 设置动画播放的方向(如下)
animation-play-state 控制动画的播放状态:running代表播放,而paused代表停止播放
timing-function值 描述
ease 逐渐变慢(默认)
linear 匀速
ease-in 加速
ease-out 减速
ease-in-out 先加速后减速
direction值 描述
normal 默认值为normal表示向前播放
alternate 动画播放在第偶数次向前播放,第奇数次向反方向播放

13.3切换背景颜色

  <style>
        .animation {
            width: 300px;
            height: 300px;
            background-color: red;
            animation: anima 5s linear 5s infinite;
        }
        .animation:hover {  //鼠标悬停事件触发动画停止
            animation-play-state: paused;
        }
        @keyframes anima {
            0% {
                background-color: red;
            }
            50% {
                background-color: green;
            }
            100% {
                background-color: blueviolet;
            }
        }
    </style>
<div class="animation"></div>

13.4呼吸效果

 <style>
        .box {
            width: 500px;
            height: 400px;
            margin: 40px auto;
            background-color: #2b92d4;
            border-radius: 5px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
            animation: breathe 2700ms ease-in-out infinite alternate;
        }
        @keyframes breathe {
            0% {
                opacity: .2;
                box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1)
            }
            50% {
                opacity: .5;
                box-shadow: 0 1px 2px rgba(18, 190, 84, 0.76)
            }
            100% {
                opacity: 1;
                box-shadow: 0 1px 30px rgba(59, 255, 255, 1)
            }
        }
    </style>
<div class="box"></div>

十四、媒体查询

媒体查询能使页面在不同在终端设备下达到不同的效果

媒体查询会根据设备的大小自动识别加载不同的样式

设置meta标签

使用设备的宽度作为视图宽度并禁止初始的缩放。在<head>标签里加入这个meta标签。

<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">

参数解释

  1. width = device-width 宽度等于当前设备的宽度
  2. initial-scale 初始的缩放比例(默认设置为1.0)
  3. maximum-scale 允许用户缩放到的最大比例(默认设置为1.0)
  4. user-scalable 用户是否可以手动缩放(默认设置为no)

媒体查询语法

@media screen and (max-width: 768px) {
    /* 设备小于768px加载样式 */
  body{
    background-color: red;
   }
}
@media screen and (max-width: 992px) and (min-width: 768px) {
   /* 设备小于768px但小于992px加载样式  */
   body{
      background-color: pink;
   }
}
@media screen and (min-width: 992px) {
    /* 设备大于992px加载样式 */
  body{
       background-color: green;
   }
}

十五、精灵图

CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去。

优点

  1. 减少图片的字节
  2. 减少网页的http请求,从而大大的提高页面的性能

原理

  1. 通过background-image引入背景图片
  2. 通过background-position把背景图片移动到自己需要的位置

十六、字体图标

我们会经常用到一些图标。但是我们在使用这些图标时,往往会遇到失真的情况,而且图片数量很多的话,页面加载就越慢。所以,我们可以使用字体图标的方式来显示图标,既解决了失真的问题,也解决了图片占用资源的问题

常用字体图标库:阿里字体图标库

优点

  1. 轻量性:加载速度快,减少http请求
  2. 灵活性:可以利用CSS设置大小颜色等
  3. 兼容性:网页字体支持所有现代浏览器,包括IE低版本

使用字体图标

  1. 注册账号并登录
  2. 选取图标或搜索图标
  3. 添加购物车
  4. 下载代码
  5. 选择font-class引用
<link rel="stylesheet" href="./css/iconfont.css">
.iconfont{
  font-size: 35px;
  color: red;
}
<span class="iconfont icon-add-circle"></span>


相关文章
|
3月前
|
前端开发 JavaScript 开发者
探索Web设计新纪元:CSS3的革新特性如何重塑我们的网页视觉体验?
【8月更文挑战第26天】随着Web技术的发展,CSS3为前端开发带来了众多激动人心的新特性,极大提升了网页设计的视觉效果与创意空间。本文通过对比CSS3与CSS2,详细介绍了CSS3在选择器增强、圆角阴影处理、渐变背景应用、转换动画实现、文字效果优化、媒体查询支持及多列布局方面的显著改进,展示了CSS3如何助力开发者打造更具吸引力和互动性的网页体验。
51 1
用CSS+JavaScript打造网页中的选项卡
用CSS+JavaScript打造网页中的选项卡
|
3月前
|
前端开发
简单几行代码CSS实现网页自动打文字效果
简单几行代码CSS实现网页自动打文字效果
53 1
简单几行代码CSS实现网页自动打文字效果
|
2月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
编解码 前端开发 开发者
【前端设计达人必备】揭秘CSS尺寸单位的魔力:从基础到实战,打造灵动响应式网页!
【8月更文挑战第26天】本文深入探讨了CSS中常用的尺寸单位,包括像素(px)、百分比(%)、视窗单位(vw/vh/vmin/vmax)、可伸缩相对单位(em/rem)以及Flexbox和Grid中的fr单位。通过具体案例展示了每种单位的特点及其适用场景。像素适用于固定尺寸元素;百分比和em/rem利于构建响应式布局;视窗单位适合全屏设计;fr单位则能有效管理复杂网格布局的空间分配。掌握这些单位有助于开发者设计出更加灵活、高质量的网页布局。
59 4
|
3月前
|
前端开发 开发者
CSS样式覆盖规则详解,让你的网页更加出彩!
【8月更文挑战第23天】在Web前端开发中,理解CSS样式覆盖规则至关重要。当多个样式规则作用于同一元素时,哪些规则生效?本文通过实例解析这些规则。简单案例中,`.error`类选择器优先级高于`p`标签,文字显示红色。复杂案例涉及`.important`类与`!important`关键字,此时文字变为绿色。另外,内联样式拥有比外部样式更高的优先级。掌握这些原则有助于开发者高效管理样式。
94 0
|
3月前
|
前端开发 数据安全/隐私保护 开发者
热门聚焦!Web 前端 CSS 选择器 —— 解锁精美网页的密码,触动开发者心灵深处!
【8月更文挑战第23天】CSS 选择器是 Web 前端设计中的关键工具,用于精准定位和美化页面元素。主要包括:直观的元素选择器(如 `p`),灵活的类选择器(如 `.my-class`),唯一的 ID 选择器(如 `#unique-div`),以及可根据属性选择的属性选择器(如 `a[title]`)。此外,后代选择器(如 `div p`)、子选择器(如 `ul &gt; li`)和相邻兄弟选择器(如 `h1 + p`)可用于更复杂的选择。通用选择器(如 `*`)则适用于所有元素。通过组合这些选择器,开发者能够创建出既复杂又美观的网页样式,提升用户体验。
37 0
|
3月前
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
|
3月前
|
前端开发
翻转视角:CSS让卡片设计在网页上活起来!
翻转视角:CSS让卡片设计在网页上活起来!

热门文章

最新文章