我的日常开发记录日志
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)

我的日常开发记录日志

never give up
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)
  • html

  • css

    • Html
    • css中calc的用法
      • 媒体查询
      • 没有设置宽度的元素
      • 常用到尺寸单位
      • background背景色使用
      • css过渡
      • 正则复杂选择器
      • css变形
      • css动画
      • 伪类选择器
      • 优化input显示
    • javascript

    • vue

    • 小程序

    • Es6

    • 前端
    • css
    窝窝侠
    2024-10-30

    css中calc的用法

    CSS calc() 函数是一种强大的工具,可以在样式中执行动态计算。它允许你在 CSS 中计算长度、宽度、位置等值,支持多种单位的运算。以下是 CSS calc() 使用的详细解析和示例。

    # 1. 基本语法

    calc() 的基本语法如下:

    property: calc(expression);
    
    1
    • property:要设置的 CSS 属性(如 width, height, margin, padding 等)。
    • expression:一个数学表达式,可以包含加法 +、减法 -、乘法 * 和除法 /,并且可以混合不同单位(如 px, em, %, vw 等)。

    # 2. 支持的运算

    • 加法 (+)
    • 减法 (-)
    • 乘法 (*)
    • 除法 (/)

    # 3. 使用示例

    下面是一些使用 calc() 的示例,展示了它的不同应用场景。

    # 示例 1:设置宽度

    .container {
        width: calc(100% - 50px); /* 容器宽度为全宽减去50px */
    }
    
    1
    2
    3
    • 这里,容器的宽度是其父元素宽度的 100%,减去 50 像素的边距。

    # 示例 2:设置高度

    .element {
        height: calc(50vh - 100px); /* 视口高度的一半减去100px */
    }
    
    1
    2
    3
    • 这个元素的高度为视口高度的一半,减去 100 像素。

    # 示例 3:混合单位

    .box {
        padding: calc(10px + 2%); /* 10px 加上 2% 的宽度 */
    }
    
    1
    2
    3
    • 这里的填充是一个固定量(10px)加上一个相对量(2%),这种混合能够创建响应式设计。

    # 示例 4:计算字体大小

    .text {
        font-size: calc(1em + 2vw); /* 基于字体大小加上视口宽度的一部分 */
    }
    
    1
    2
    3
    • 字体大小会根据视口宽度动态变化,增加了可读性和响应性。

    # 4. 注意事项

    • 空格:在 calc() 中,操作符前后需要有空格。例如,calc(50% - 20px) 是正确的,而 calc(50%-20px) 是错误的。
    • 性能:尽量避免在复杂的布局中频繁使用 calc(),因为过度计算可能影响性能,尤其是在 CSS 动画或复杂布局中。
    • 兼容性:calc() 在现代浏览器中广泛支持,但在某些旧版浏览器中可能存在兼容性问题(如 IE 11)。

    # 5. 示例代码

    下面是一个完整的示例,展示了如何在一个简单的布局中使用 calc():

    " file="calc-example.html" version=1 line-numbers-mode">
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>CSS calc() 示例</title>
        <style>
            body {
                display: flex;
                justify-content: center;
                align-items: center;
                height: 100vh;
                background-color: #f0f0f0;
                margin: 0;
            }
    
            .container {
                width: calc(100% - 40px); /* 容器宽度 */
                max-width: 600px;         /* 最大宽度 */
                background-color: white;  /* 背景色 */
                padding: 20px;            /* 内边距 */
                border-radius: 8px;      /* 圆角 */
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影 */
            }
    
            .element {
                height: calc(50vh - 40px); /* 动态高度 */
                background-color: #007BFF;  /* 蓝色背景 */
                color: white;                /* 字体颜色 */
                display: flex;
                justify-content: center;
                align-items: center;
                border-radius: 4px;         /* 圆角 */
            }
        </style>
    </head>
    <body>
        <div class="container">
            <h1>使用 calc() 示例</h1>
            <div class="element">动态高度</div>
        </div>
    </body>
    </html>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43

    # 总结

    CSS calc() 函数是一个非常有用的工具,能够在样式中执行动态计算,增强页面的响应性和灵活性。通过合理使用 calc(),可以创建更具适应性的布局和设计。

    在线编辑 (opens new window)
    上次更新: 2025/02/25, 18:30:54
    Html
    媒体查询

    ← Html 媒体查询→

    最近更新
    01
    showprocess用法
    04-29
    02
    vue3中尖括号和冒号的使用细则
    04-29
    03
    sd使用
    02-22
    更多文章>
    🖥️

    © 2025窝窝侠 💌 豫ICP备20005263号-2 🛀 Theme by 💝 Vdoing && 小胖墩er

    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×