【前端技巧】CSS常用技巧碎片(一)

这篇具有很好参考价值的文章主要介绍了【前端技巧】CSS常用技巧碎片(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CSS常用技巧碎片(一)

  • 尺寸体系:内在尺寸:fit-content、min-content、max-content,尺寸表现和内容有关;外在尺寸:stretch、available、fill-available,尺寸表现和上下文有关。
  • 可以用 inset: 0; 实现 left: 0; top: 0; right: 0; bottom: 0; 的效果。
  • 渐变边框实现圆角效果可以用 clip-path: inset(0 round 10px);
  • 可以实现轮廓效果的CSS属性的特征对比表
属性 支持渐变 支持模糊 支持圆角 间歇控制 方位控制
outline × × ×(仅Firefox支持) √(Edge15+) ×
box-shadow × ×
border-image ×(可渐变模拟) ×
  • 如果需要轮廓带有渐变效果,一定是使用border-image属性。|

  • 如果需要轮廓效果是纯色,且4个角为直角,则优先使用outline属性;如果outline属性不能使用(如无障碍访问需要),则使用box-shadow属性;如果box-shadow属性已经有了其他样式,则使用border-image属性。

  • 如果需要轮廓有圆角效果,则一定是使用box-shadow属性。

  • 如果需要轮廓和元素之间还有一段间隙,则优先使用outline属性;如果outline属性不能使用,则使用border-image属性。

  • 如果需要轮廓只有一个方向,则不考虑outline属性。

  • 如果需要兼容IE浏览器,则border-image属性不考虑。

  • 可以用 position:sticky 实现吸顶效果。

  • 比较好的字体配置方案:

<style>
@font-face {
    font-family: Emoji;
    src: local("Apple Color Emoji"),
    local("Segoe UI Emoji"),
    local("Segoe UI Symbol"),
    local("Noto Color Emoji");
    unicode-range: U+1F000-1F644, U+203C-3299;
}
.emoji {
    font-family: system-ui, -apple-system, Segoe UI, Roboto,
    Emoji, Helvetica, Arial, sans-serif;
}
</style>
  • 动态文本内容换行使用word-break:break-all和wordwrap:break-word组合代码,如果要彻底换行,还可以使用line-break:anywhere。

  • 静态内容排版不建议使用word-break属性、word-wrap属性或者line-break属性,如果是英文单词,则使用&shy;软连字符优化排版;如果是非英文单词,则使用<wbr>标签优化排版。

  • 根据指定字符进行对齐:td { text-align: "." center; }

  • 在使用text-decoration: underline;添加下划线时,会与文字底部紧贴,观感较差,可以用text-underline-position: under;来优化下划线的显示位置。如果需要进一步下移下划线位置,可以采用text-underline-offset: 1em;实现。

  • 使用HSL实现按钮点击变暗的效果,很方便

<style>
.button {
    background-color: hsl(213.3, 82.8%, 54.3%);
}
.button:active {
    background-color: hsl(213.3, 82.8%, 50%);
}
</style>
  • 设置白色半透明:hsla(0, 0%, 100%, .5);

  • 纯CSS实现加减按钮

<body>
    <button class="btn-add"></button>
    <button class="btn-sub"></button>
</body>

<style>
    .btn-add,
    .btn-sub {
        width: 1.5rem;
        height: 1.5rem;
        border: 1px solid gray;
        background: linear-gradient(currentColor, currentColor) no-repeat center/.875em 2px,
            linear-gradient(currentColor, currentColor) no-repeat center/2px .875em,
            ghostwhite;
        color: dimgray;
    }

    .btn-sub {
        background-size: .875em 2px, 0;
    }
</style>
  • 纯CSS实现网格布局
<body>
    <div class="square"></div>
</body>

<style>
    .square {
        display: inline-block;
        width: 304px; height: 160px;
        background-color: #fff;
        background-image: linear-gradient(45deg, #f00 25%, transparent 25%, transparent 75%, #0f0 75%), 
        linear-gradient(45deg, #00f 25%, transparent 25%, transparent 75%, #faf20a 75%);
        background-size: 16px 16px;
        background-position: 0 0, 8px 8px;
    }
</style>
  • 利用background-clip实现渐变文字
<body>
    <p class="text-gradient">我是渐变文字</p>
</body>

<style>
    .text-gradient {
        font-size: 5rem;
        color: deepskyblue;
    }
    @supports (-webkit-background-clip: text) or (background-clip: text) {
        .text-gradient {
            background: linear-gradient(deepskyblue, deeppink);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
    }
</style>
  • 使用box-shadow内阴影提供按钮操作反馈
<style>
button:active {
    box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .1);
}
</style>
  • 利用box-shadow实现loading动画
<style>
    .loading {
        width: 4px;
        height: 4px;
        border-radius: 100%;
        color: rgba(0, 0, 0, .4);
        box-shadow: 0 -10px rgba(0, 0, 0, .9),
            10px 0px,
            0 10px,
            -10px 0 rgba(0, 0, 0, .7),
            -7px -7px rgba(0, 0, 0, .8),
            7px -7px rgba(0, 0, 0, 1),
            7px 7px,
            -7px 7px;
        animation: spin 1s steps(8) infinite;
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }
</style>
  • 纸张卷角效果
<body>
    <div class="container transform">
        <div class="page"></div>
    </div>
</body>

<style>
    .container {
        padding: 40px 0;
        background-color: #666;
    }

    .page {
        width: 300px;
        height: 200px;
        margin: 0 auto;
        padding: 1em 0 2em;
        background-color: #f4f39e;
        box-shadow: 0 2px 10px 1px rgba(0, 0, 0, .2);
        border-bottom-right-radius: 50% 10px;
        position: relative;
    }

    .page::before {
        transform: skew(-15deg) rotate(-5deg);
        left: 15px;
        bottom: 10px;
        box-shadow: 0 8px 16px rgba(0, 0, 0, .3);
    }

    .page::after {
        transform: skew(15deg) rotate(8deg);
        right: 15px;
        bottom: 25px;
        box-shadow: 8px 8px 10px rgba(0, 0, 0, .4);
    }

    .page:before,
    .page:after {
        content: "";
        width: 90%;
        height: 30%;
        position: absolute;
        z-index: -1;
    }

    /* 容器设置这个 */
    .transform {
        transform: scale(1);
    }
</style>
  • transform变换中使用矩阵函数matrix(),语法:transform: matrix(a, b, c, d, e, f);

    • 位移变换使用的是矩阵参数e和f;
    • 缩放变换使用的是矩阵参数a和d;
    • 旋转变换使用的是矩阵参数a、b、c和d;
    • 斜切变换使用的是矩阵参数b和c。
  • 纯CSS实现进度条文章来源地址https://www.toymoban.com/news/detail-533683.html

<body>
    <label>图片1:</label>
    <div class="bar" style="--percent: 60;"></div>
    <label>图片2:</label>
    <div class="bar" style="--percent: 40;"></div>
    <label>图片3:</label>
    <div class="bar" style="--percent: 20;"></div>
</body>

<style>
    .bar {
        line-height: 20px;
        background-color: #eee;
    }

    .bar::before {
        counter-reset: progress var(--percent);
        content: counter(progress) "%\2002";
        display: block;
        width: calc(100% * var(--percent) / 100);
        font-size: 12px;
        color: #fff;
        background-color: deepskyblue;
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
    }
</style>

到了这里,关于【前端技巧】CSS常用技巧碎片(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS样式前端HTML页面常用CSS效果实现及其相关配置信息------前端入门基础教程

    !DOCTYPE html !-- 这是HTML的注释 -- html lang=\\\"en\\\" id=\\\"myHtml\\\"     head         !-- 这里不是设置了编码,而是告诉浏览器,用什么编码方式打开文件避免乱码 --         meta charset=\\\"UTF-8\\\"         meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\"         titleHtmlAll/title         

    2024年02月05日
    浏览(59)
  • 前端 | (五)CSS三大特性及常用属性 | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月17日
    浏览(45)
  • 【前端|CSS系列第2篇】CSS零基础入门之常用样式属性

    欢迎来到CSS零基础入门系列的第二篇博客!作为前端开发的关键技术之一,CSS(层叠样式表)能够为网页添加各种样式和布局效果。对于前端零基础的小白来说,了解和掌握CSS的常用样式属性是入门的关键。本篇博客将带你深入了解如何设置常用样式属性,包括文本属性、字

    2024年02月11日
    浏览(70)
  • 『 前端三剑客 』:CSS常用属性

    一 . CSS常用元素属性 1.1 字体家族和 字体大小 设置的字体需要是 windows 上自带的字体 , 要求是系统中已经安装了的字体 使用 css 设置字体为微软雅黑 和 宋体 , 字体大小为 30 px 和 40 px font - size 设置的是字体的字符框的高度的大小 . 设置效果如下所示 1.2 设置字体粗细 font-we

    2024年02月15日
    浏览(46)
  • 前端工作中常用 CSS 知识点整理

    1.1文字溢出省略号 文字单行溢出: 多行文字溢出: 1.2css变量 CSS变量 又称 CSS自定义属性 ,通过在 css 中自定义属性 --var 与函数 var() 组成, var() 用于引用自定义属性。谈到为何会在 CSS 中使用变量,以下使用一个示例讲述。 1.3渐变 渐变分为 线性渐变 、 径向渐变 ,这里笔者直

    2024年02月15日
    浏览(58)
  • 前端小技巧:学会通过CSS Hover和JS实现图片放大镜效果

    数据来源: ChatGPT 今天,我们来看一个鼠标悬停出现图片放大镜效果,这是一个比较实用且炫酷的纯CSS和JS实现的页面效果。 HTML HTML代码非常简单,我们只需要一个div容器,内部嵌入一张图片,再添加一个用来显示放大镜的div元素。 CSS CSS代码是实现放大镜效果的重要部分,

    2024年02月02日
    浏览(73)
  • CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透

    一、什么是scoped 在vue文件中的style标签上,有一个特殊的属性:scoped。 当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,通过该属性,可以使得组件之间的样式不互相污染。 二、scoped的原理 为组件实例生成一个唯一标识,给组件中的每个标签对应的d

    2024年04月10日
    浏览(53)
  • 前端编写页面HTML、CSS常用属性方法汇总

    不太常用的属性: box-shadow的: CSS3动画的点: 控制文字行数: CSS3的一些冷知识: @keyframes: HTML5: html+css乱七八糟的: JavaScript:

    2024年02月16日
    浏览(47)
  • 【web前端开发】CSS最常用的11种选择器

    CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 CSS的作用:给HTML里面的标签设置样式 简单点来说就是让HTML的页面变得更加好看 CSS是写在 style 标签里面的,而st

    2023年04月09日
    浏览(41)
  • 【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局)

    层叠样式表(Cascading Style Sheets) 对元素位置的排版进行精确控制,实现结构和样式的分离 CSS 控制页面的展示效果 HTML决定页面的结构 选择器+{一条/N条声明} 选择器:要修改谁 声明:具体要修改什么内容。声明的属性是键值对,用分号区分,键和值用: 通常情况下,把style放

    2024年04月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包