分享并记录日常开发中的一些CSS布局和样式技巧(持续更新)

前言

日常开发中,会经常遇到一些设计常见,但实现方案是较为小众的需求,包括但不局限于万能居中、宽度自适应、布局自适应等。本文就结合日常开发中的实际案例进行分享并记录这些css技巧,并会持续更新。

宽度自适应

图一是未加宽度自适应的排版;图二是加了宽度自适应的排版。

  1. 方案一(fit-content):
  • 代码实现
css 复制代码
    .home_map_renewal {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 110rpx;
        left: 50%;
        transform: translateX(-50%);
        z-index: 90;
        width: fit-content;
        padding: 18rpx;
        background: linear-gradient(180deg, #FFFBE7 0%, #FEE7C1 98%);
        box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.15);
        border-radius: 16rpx;
    }
  • 代码解析
  1. fit-content属性简介 fit-content是CSS中的一个属性,它允许开发者根据需要自动调整元素的大小。

fit-content具有以下特点:

弹性调整:fit-content可以根据不同的屏幕尺寸和布局自动调整元素的大小。 简洁性:fit-content使用简洁的语法,使得代码更加简洁和易于阅读。 高效性:fit-content可以根据需要自动调整元素的大小,提高了网页设计的灵活性。

  1. fit-content属性的工作原理 fit-content属性的工作原理如下:

自动调整:fit-content可以根据需要自动调整元素的大小,以适应不同的屏幕尺寸和布局。 节省空间:使用fit-content可以节省空间,因为元素的大小可以根据需要自动调整。 提高性能:fit-content可以根据需要自动调整元素的大小,从而提高网页的性能。

  1. fit-content属性的应用场景 fit-content属性在实际项目中具有广泛的应用,以下是一些典型的应用场景:

响应式设计:使用fit-content可以根据屏幕尺寸自动调整元素的大小,实现响应式设计。 布局优化:使用fit-content可以优化布局,节省空间,提高性能。 视觉设计:使用fit-content可以根据视觉设计需求自动调整元素的大小,提高视觉效果。

  1. 实际应用案例 fit-content 是一个 CSS 函数,用于根据元素的内容调整其大小。这个函数可以用于创建响应式的布局,根据内容的尺寸自动调整元素的大小。以下是一些使用 fit-content 的实际应用案例:
css 复制代码
    .home_map_renewal{
      width: fit-content;
    }
  • 使用环境

fit-content属性在各个主流浏览器已经得到广泛支持,包括ChromeFirefoxSafariEdge等。但是请注意,在一些老旧的浏览器版本和小程序中,并不支持此属性。

2.方案二(max-content):

  • 代码实现
css 复制代码
    .home_map_renewal {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 110rpx;
        left: 50%;
        transform: translateX(-50%);
        z-index: 90;
        width: -webkit-max-content;
        width: max-content;
        padding: 18rpx;
        background: linear-gradient(180deg, #FFFBE7 0%, #FEE7C1 98%);
        box-shadow: 0rpx 4rpx 10rpx 0rpx rgba(0, 0, 0, 0.15);
        border-radius: 16rpx;
    }    
  • 代码解析

max-content:简单理解就是假设我们的容器有足够的宽度,足够的空间 此时,所占据的宽度是就是max-content所表示的尺寸。

也就是说max-content会采用内部元素的宽度值最大的元素作为容器的宽度。

如果为只有文本, 则文本不换行, 容器的最大宽度就是文本的宽度;如果有文本,图片, 选择最大元素宽度作为容器宽度。

  • 使用环境

max-content属性在各个主流浏览器和小程序均已得到广泛支持,包括ChromeFirefoxSafariEdge等。

均分布局

日常开发中,按内容个数动态均分布局是很常见的需求。

-示例案例:

  • 代码实现:
css 复制代码
.personal_con_opera {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 94%;
    gap: calc((100% - (4 * 25%)) / 3);
    margin: 0 auto;

    .personal_con_opera_item {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 25%;
        margin-top: 25rpx;

        image {
            width: 90rpx;
            height: 90rpx;
        }

        text {
            font-weight: 500;
            font-size: 28rpx;
            color: #000000;
        }
    }
}
  • 代码解析

核心代码:

flex-wrap: wrap;

justify-content: flex-start;

gap: calc((100% - (4 * 25%)) / 3);

其中gap的写法为:父盒子的长度百分比(100%) - (每行需满编的子盒子个数 * 子盒子的长度(或者占比)) / 子盒子间距数

后语

以上就是日常开发中遇到的一些css布局和样式技巧分享,本文持续更新、记录。如有好的方法,欢迎留言指正,共同进步。

相关推荐
华仔啊12 小时前
这个Vue3旋转菜单组件让项目颜值提升200%!支持多种主题,拿来即用
前端·javascript·css
天才测试猿14 小时前
Selenium定位元素的方法css和xpath的区别
css·自动化测试·软件测试·python·selenium·测试工具·测试用例
社恐的下水道蟑螂17 小时前
前端小彩蛋:纯 CSS 实现情侣小球互动,甜到齁的代码我扒下来了
css
UIUV21 小时前
CSS 高级动画学习笔记 —— 从 “亲吻小球” 案例看 CSS 核心技术
前端·css
www_stdio21 小时前
从布局到动效:以水平垂直居中为基础、OOCSS 为架构、协同关键帧为灵魂的 CSS 动画实现(小球亲吻案例全解析)
css·html
新晨43721 小时前
CSS响应式布局卡片
css
上车函予21 小时前
点击即扩散:使用 View Transition API 实现 UnoCSS 官网同款主题切换动画
前端·javascript·css
charlie11451419121 小时前
从模仿到掌握:尝试一下Native CSS手写一个好看的按钮
前端·css·学习·ui
时间的情敌21 小时前
Vue3+CSS 实现3D卡片动画
前端·css·3d
小九今天不码代码21 小时前
CSS技巧:使用 box-shadow + outline 实现多重边框与圆角阴影完美结合
css·outline·box-shadow·多重边框·圆角边框·前端视觉效果·css3技巧