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

CSS3学习教程,从入门到精通,CSS3 属性语法知识点及案例代码(4)

CSS3 属性语法知识点及案例代码

一、CSS3 文本属性

1. 颜色相关属性

  • color:设置文本颜色。
  • text-shadow:设置文本阴影。

2. 字体相关属性

  • font-family:设置字体系列。
  • font-size:设置字体大小。
  • font-weight:设置字体粗细。
  • font-style:设置字体风格(如斜体)。

3. 文本修饰属性

  • text-decoration:设置文本装饰(如下划线)。
  • text-align:设置文本对齐方式。
  • line-height:设置行高。
  • letter-spacing:设置字母间距。
  • word-spacing:设置单词间距。

4. 文本转换属性

  • text-transform:设置文本转换(如大写、小写)。

二、CSS3 盒模型属性

1. 外边距属性

  • margin:设置外边距。
  • margin-topmargin-rightmargin-bottommargin-left:分别设置上、右、下、左边的外边距。

2. 内边距属性

  • padding:设置内边距。
  • padding-toppadding-rightpadding-bottompadding-left:分别设置上、右、下、左边的内边距。

3. 宽度和高度属性

  • width:设置元素宽度。
  • height:设置元素高度。

4. 边框属性

  • border:设置边框。
  • border-widthborder-styleborder-color:分别设置边框的宽度、样式和颜色。
  • border-radius:设置边框圆角。

三、CSS3 背景属性

1. 背景颜色和图像

  • background-color:设置背景颜色。
  • background-image:设置背景图像。
  • background-repeat:设置背景图像是否重复。
  • background-position:设置背景图像的位置。
  • background-size:设置背景图像的大小。
  • background-attachment:设置背景图像是否固定或滚动。

四、CSS3 盒子阴影和轮廓

1. 盒子阴影

  • box-shadow:设置盒子阴影。

2. 轮廓

  • outline:设置轮廓。
  • outline-widthoutline-styleoutline-color:分别设置轮廓的宽度、样式和颜色。

五、CSS3 二维转换

1. 基本转换

  • transform:设置元素的二维转换。
  • transform-origin:设置转换的原点。

六、CSS3 动画

1. 关键帧动画

  • @keyframes:定义动画的关键帧。
  • animation:应用动画。
  • animation-nameanimation-durationanimation-timing-functionanimation-delayanimation-iteration-countanimation-directionanimation-fill-modeanimation-play-state:分别设置动画的名称、持续时间、速度曲线、延迟、迭代次数、方向、填充模式和播放状态。

七、CSS3 多列布局

1. 多列属性

  • column-count:设置列数。
  • column-width:设置列宽。
  • column-gap:设置列之间的间隔。
  • column-rule:设置列之间的分隔线。

八、CSS3 弹性布局

1. 弹性容器属性

  • display: flex:将元素设置为弹性容器。
  • flex-direction:设置主轴方向。
  • flex-wrap:设置是否换行。
  • justify-content:设置主轴对齐方式。
  • align-items:设置侧轴对齐方式。
  • align-content:设置多行对齐方式。

2. 弹性项目属性

  • order:设置项目的排列顺序。
  • flex-grow:设置项目的扩展比例。
  • flex-shrink:设置项目的收缩比例。
  • flex-basis:设置项目的初始主轴长度。
  • align-self:设置项目的侧轴对齐方式。

九、CSS3 网格布局

1. 网格容器属性

  • display: grid:将元素设置为网格容器。
  • grid-template-columnsgrid-template-rows:设置网格的列和行。
  • grid-gap:设置网格之间的间隔。
  • grid-template-areas:设置网格区域。

2. 网格项目属性

  • grid-columngrid-row:设置项目在网格中的位置。
  • grid-area:设置项目的网格区域。

十、CSS3 过渡效果

1. 过渡属性

  • transition:设置过渡效果。
  • transition-propertytransition-durationtransition-timing-functiontransition-delay:分别设置过渡的属性、持续时间、速度曲线和延迟。

十一、CSS3 滤镜效果

1. 滤镜属性

  • filter:设置滤镜效果。

十二、CSS3 媒体查询

1. 媒体查询属性

  • @media:用于响应式设计,根据不同的屏幕尺寸设置不同的样式。

十三、CSS3 伪元素和伪类

1. 伪元素

  • ::before::after:在元素前后插入内容。
  • ::first-letter::first-line:设置首字母和首行样式。

2. 伪类

  • :hover:active:focus:设置元素在不同状态下的样式。

十四、CSS3 颜色函数

1. 颜色函数

  • rgb()rgba()hsl()hsla():设置颜色。

十五、CSS3 字体图标

1. 字体图标属性

  • @font-face:自定义字体。

十六、CSS3 文本溢出

1. 文本溢出属性

  • text-overflow:设置文本溢出时的显示方式。

十七、CSS3 盒模型增强

1. 盒模型属性

  • box-sizing:设置盒模型的计算方式。

十八、CSS3 动画和过渡综合案例

案例:按钮悬停效果

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CSS3 按钮悬停效果</title>
  <style>
    /* 设置按钮的基本样式 */
    .btn {
      display: inline-block;
      padding: 10px 20px;
      margin: 20px;
      border: none;
      border-radius: 5px;
      color: white;
      text-align: center;
      cursor: pointer;
      transition: all 0.3s ease; /* 设置过渡效果 */
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 设置阴影 */
    }

    /* 不同按钮的背景颜色 */
    .btn-primary {
      background-color: #007bff;
    }

    .btn-secondary {
      background-color: #6c757d;
    }

    .btn-success {
      background-color: #28a745;
    }

    .btn-danger {
      background-color: #dc3545;
    }

    /* 按钮悬停效果 */
    .btn:hover {
      transform: translateY(-2px); /* 向上移动 */
      box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* 增大阴影 */
    }

    /* 按钮按下效果 */
    .btn:active {
      transform: translateY(1px); /* 向下移动 */
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 减小阴影 */
    }

    /* 按钮禁用状态 */
    .btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    /* 使用伪元素添加图标 */
    .btn::before {
      content: "▶ ";
      font-weight: bold;
    }
  </style>
</head>
<body>
  <button class="btn btn-primary">主要按钮</button>
  <button class="btn btn-secondary">次要按钮</button>
  <button class="btn btn-success">成功按钮</button>
  <button class="btn btn-danger" disabled>危险按钮</button>
</body>
</html>

案例代码说明

  1. 基本样式设置:为按钮设置了基本的样式,包括内边距、外边距、边框、圆角、颜色等。
  2. 过渡效果:使用 transition 属性为按钮的属性变化添加平滑的过渡效果。
  3. 阴影效果:使用 box-shadow 属性为按钮添加阴影,增强立体感。
  4. 悬停效果:通过 :hover 伪类,在鼠标悬停时改变按钮的位置和阴影,实现上浮效果。
  5. 按下效果:通过 :active 伪类,在按钮被按下时改变其位置和阴影,模拟被按下的状态。
  6. 禁用状态:通过 :disabled 伪类,为禁用的按钮设置透明度和鼠标样式,表示不可用。
  7. 伪元素:使用 ::before 伪元素在按钮前添加图标,增强视觉效果。

这个案例综合运用了 CSS3 的多种属性和伪类,展示了如何通过 CSS3 实现丰富的按钮交互效果。

以下是 CSS3 属性在实际开发中的一些具体案例,涵盖了常见属性的实际应用,每个案例都包含详细注释:

案例一:简单的导航栏样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>导航栏样式</title>
    <style>
        /* 导航栏容器样式 */
        .navbar {
            background-color: #333; /* 设置背景颜色 */
            padding: 10px 20px; /* 设置内边距 */
            border-radius: 5px; /* 设置圆角 */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 添加阴影 */
        }

        /* 导航链接样式 */
        .navbar a {
            color: white; /* 设置文本颜色 */
            text-decoration: none; /* 去掉下划线 */
            margin-right: 15px; /* 设置右边距 */
            padding: 5px 10px; /* 设置内边距 */
            transition: background-color 0.3s ease; /* 添加过渡效果 */
        }

        /* 鼠标悬停时的样式 */
        .navbar a:hover {
            background-color: #555; /* 改变背景颜色 */
            border-radius: 3px; /* 设置圆角 */
        }

        /* 当前页面活动链接样式 */
        .navbar a.active {
            color: #04AA6D; /* 设置活动链接的颜色 */
            font-weight: bold; /* 加粗字体 */
        }
    </style>
</head>
<body>
    <nav class="navbar">
        <a href="#" class="active">首页</a>
        <a href="#">关于我们</a>
        <a href="#">服务</a>
        <a href="#">联系我们</a>
    </nav>
</body>
</html>

案例二:响应式卡片布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>响应式卡片布局</title>
    <style>
        /* 卡片容器样式 */
        .card-container {
            display: flex; /* 使用弹性布局 */
            flex-wrap: wrap; /* 允许换行 */
            gap: 20px; /* 设置卡片之间的间隔 */
            padding: 20px;
        }

        /* 卡片样式 */
        .card {
            flex: 1; /* 卡片在容器中等分空间 */
            min-width: 250px; /* 设置最小宽度 */
            background-color: white; /* 设置背景颜色 */
            border-radius: 8px; /* 设置圆角 */
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* 添加阴影 */
            padding: 15px; /* 设置内边距 */
            transition: transform 0.3s ease; /* 添加过渡效果 */
        }

        /* 鼠标悬停时的样式 */
        .card:hover {
            transform: translateY(-5px); /* 向上移动 */
        }

        /* 卡片标题样式 */
        .card h3 {
            color: #333; /* 设置标题颜色 */
            margin-top: 0; /* 去掉上边距 */
        }

        /* 卡片内容样式 */
        .card p {
            color: #666; /* 设置内容颜色 */
            line-height: 1.5; /* 设置行高 */
        }

        /* 响应式设计 */
        @media (max-width: 768px) {
            .card-container {
                flex-direction: column; /* 在小屏幕上改为垂直布局 */
            }
        }
    </style>
</head>
<body>
    <div class="card-container">
        <div class="card">
            <h3>卡片标题 1</h3>
            <p>这是一个卡片内容。卡片可以用于展示信息,是现代网页设计中常见的组件。</p>
        </div>
        <div class="card">
            <h3>卡片标题 2</h3>
            <p>这是另一个卡片内容。通过 CSS3 属性,我们可以轻松地为卡片添加样式,使其看起来更加美观。</p>
        </div>
    </div>
</body>
</html>

案例三:按钮样式与交互效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>按钮样式与交互效果</title>
    <style>
        /* 按钮基本样式 */
        .btn {
            display: inline-block; /* 设置为行内块元素 */
            padding: 10px 20px; /* 设置内边距 */
            background-color: #007bff; /* 设置背景颜色 */
            color: white; /* 设置文本颜色 */
            border: none; /* 去掉边框 */
            border-radius: 5px; /* 设置圆角 */
            cursor: pointer; /* 设置鼠标指针为手型 */
            transition: all 0.3s ease; /* 添加过渡效果 */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 添加阴影 */
        }

        /* 鼠标悬停时的样式 */
        .btn:hover {
            background-color: #0056b3; /* 改变背景颜色 */
            transform: translateY(-2px); /* 向上移动 */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* 改变阴影 */
        }

        /* 按钮按下时的样式 */
        .btn:active {
            transform: translateY(1px); /* 向下移动 */
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); /* 改变阴影 */
        }

        /* 禁用按钮的样式 */
        .btn:disabled {
            opacity: 0.6; /* 设置透明度 */
            cursor: not-allowed; /* 设置鼠标指针为禁止状态 */
        }
    </style>
</head>
<body>
    <button class="btn">点击我</button>
    <button class="btn" disabled>禁用按钮</button>
</body>
</html>

案例四:文本溢出处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文本溢出处理</title>
    <style>
        /* 文本容器样式 */
        .text-container {
            width: 200px; /* 设置宽度 */
            border: 1px solid #ddd; /* 设置边框 */
            padding: 10px; /* 设置内边距 */
            margin: 20px; /* 设置外边距 */
            background-color: #f9f9f9; /* 设置背景颜色 */
        }

        /* 单行文本溢出处理 */
        .single-line {
            white-space: nowrap; /* 不换行 */
            overflow: hidden; /* 隐藏溢出部分 */
            text-overflow: ellipsis; /* 添加省略号 */
        }

        /* 多行文本溢出处理 */
        .multi-line {
            display: -webkit-box; /* 使用 Webkit 盒模型 */
            -webkit-box-orient: vertical; /* 垂直排列 */
            -webkit-line-clamp: 3; /* 设置显示的行数 */
            overflow: hidden; /* 隐藏溢出部分 */
        }
    </style>
</head>
<body>
    <div class="text-container">
        <h3>单行文本溢出</h3>
        <p class="single-line">这是一个很长的文本,用于演示单行文本溢出时的效果。文本内容超出了容器的宽度。</p>
    </div>

    <div class="text-container">
        <h3>多行文本溢出</h3>
        <p class="multi-line">这是一个很长的文本,用于演示多行文本溢出时的效果。文本内容超出了容器的高度,这里只显示前三行,多余的部分被隐藏。</p>
    </div>
</body>
</html>

案例五:弹性布局应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>弹性布局应用</title>
    <style>
        /* 容器样式 */
        .container {
            display: flex; /* 使用弹性布局 */
            justify-content: space-between; /* 主轴对齐方式 */
            padding: 20px;
            background-color: #f5f5f5; /* 设置背景颜色 */
        }

        /* 左侧边栏样式 */
        .sidebar {
            flex: 0 0 200px; /* 设置固定宽度 */
            background-color: #ddd; /* 设置背景颜色 */
            padding: 15px; /* 设置内边距 */
            border-radius: 5px; /* 设置圆角 */
        }

        /* 主要内容区域样式 */
        .main-content {
            flex: 1; /* 剩余空间等分 */
            background-color: white; /* 设置背景颜色 */
            padding: 15px; /* 设置内边距 */
            border-radius: 5px; /* 设置圆角 */
            margin-left: 20px; /* 设置左边距 */
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="sidebar">
            <h3>侧边栏</h3>
            <p>这里可以放置导航菜单或其他辅助内容。</p>
        </div>
        <div class="main-content">
            <h3>主要内容</h3>
            <p>这里是页面的主要内容区域,使用弹性布局可以确保它在不同屏幕尺寸下都能良好显示。</p>
        </div>
    </div>
</body>
</html>

这些案例展示了 CSS3 属性在实际开发中的广泛应用,从简单的样式设置到复杂的布局和交互效果,CSS3 提供了丰富的功能来满足现代网页设计的各种需求。


http://www.kler.cn/a/590289.html

相关文章:

  • 学生选课管理系统数据库设计报告
  • C++学习笔记(二十一)——文件读写
  • 4.JVM-垃圾回收介绍
  • k8s环境部署
  • Kubernetes集群版本升级
  • 【开源免费】基于SpringBoot+Vue.JS失物招领平台(JAVA毕业设计)
  • vlc录制的视频伪时长修复方法
  • Python中存储数据——json模块
  • JVM常用概念之堆未提交
  • ios app第一次上架遇到的审核问题
  • Kotlin 中 let 方法的作用和使用场景
  • MATLAB 控制系统设计与仿真 - 27
  • 【机器人-基础知识】标定 - 相机标定全解
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)
  • json字符串转对象,对象转JSON
  • c++基础知识-图论进阶
  • ArcGIS10.X影像智能下载!迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!
  • Matlab 汽车悬架系统动力学建模与仿真
  • Docker封装镜像、分发、部署实践:nginx
  • 轨道交通CPU+FPGA控制器,支持codesys/vxWorks/翼辉等实时系统