5 个你不知道的隐藏 CSS 属性

层叠样式表 (CSS) 是网页设计的骨架,它可以帮助我们轻松的设置网页的样式和格式。虽然大多数的 CSS 属性,例如颜色、字体大小和边距都被大家熟知,但还有许多鲜为人知的属性可以帮助我们设计添加功能。在这篇文章中,我们将介绍 5 个我们可能从未听说过的 CSS 属性,但它们可以更好的帮助我们开发网页项目。

1. text-decoration

text-decoration除了经典的下划线 (text-decoration: underline) 之外,我们还可以给 text-decoration 属性添加更多样式。它支持三个参数:

  • 线条的宽度 (width)
  • 线条的类型 (style) - 例如实线 (solid)、点线 (dotted) 等
  • 线条的颜色 (color)

下面的代码就可以让悬停的链接呈现绿色双线底线效果:

.menu__list-link:hover {text-decoration: underline 2px solid green;
}

image.png

2. 文本下划线偏移 (text-underline-offset)

text-underline-offset 属性可以解决一个我们常见的问题:就是当文本中某些字母的下划线被字母本身的一部分遮挡时,这个属性可以让下划线相对于文本内容进行偏移。

下面代码就可以让链接悬停时下划线距离文本内容 6 像素:

.menu__list-link:hover {text-decoration: underline 2px solid green;text-underline-offset: 6px;
}

image.png

image.png

3. 内嵌 (inset)

对于使用相对定位 (relative) 或绝对定位 (absolute) 等属性的元素,我们可以使用 inset 属性简写设置其上、右、下、左的内边距:

/* 原始写法 */
top: 5px;
right: 3px;
bottom: 1px;
left: 4px;/* 简写形式 */
inset: 5px 3px 1px 4px;

4. 对象定位 (object-position)

我们经常使用 object-fit: cover 属性来让图像适应容器的宽高并保持清晰。但是,我们无法控制图像被裁切的具体部分。这时,我们就可以使用 object-position 属性来帮助我们指定裁切的位置。

image.png

以下代码可以让图像底部对齐容器:

.test {height: 350px;width: 500px;object-fit: cover;object-position: bottom;
}

image.png

object-position: top;

image.png

我们还可以使用 topleftright 属性来指定顶部、左侧或右侧对齐。

我们还可以使用两个参数来更精确地控制裁切位置,例如 object-position: center bottom; 将图像的中心对齐容器底部。

    • top: 将图像或视频的顶部对齐容器顶部
    • center: 将图像或视频的中心对齐容器中心
    • bottom: 将图像或视频的底部对齐容器底部
    • left: 将图像或视频的左侧对齐容器左侧
    • right: 将图像或视频的右侧对齐容器右侧
    • top left: 将图像或视频的顶部左侧对齐容器的顶部左侧
    • top center: 将图像或视频的顶部中心对齐容器的顶部中心
    • top right: 将图像或视频的顶部右侧对齐容器的顶部右侧
    • center left: 将图像或视频的中心左侧对齐容器的中心左侧
    • center center: 将图像或视频的中心对齐容器的中心中心
    • center right: 将图像或视频的中心右侧对齐容器的中心右侧
    • bottom left: 将图像或视频的底部左侧对齐容器的底部左侧
    • bottom center: 将图像或视频的底部中心对齐容器的底部中心
    • bottom right: 将图像或视频的底部右侧对齐容器的底部右侧
  • 百分比值:

    • x%: 将图像或视频的水平位置设置为容器宽度的 x%
    • y%: 将图像或视频的垂直位置设置为容器高度的 y%
  • 长度值:

    • xpx: 将图像或视频的水平位置设置为距离容器左侧 x 像素
    • ypx: 将图像或视频的垂直位置设置为距离容器顶部 y 像素
  • 计算值:

    • calc(x%): 与 x% 相同
    • calc(y%): 与 y% 相同
    • calc(xpx): 与 xpx 相同
    • calc(ypx): 与 ypx 相同
.image {width: 200px;height: 150px;background-image: url('image.jpg');object-fit: cover; /* Cover the container without cropping */
}/* 将图像的顶部对齐容器顶部 */
.image.top {object-position: top;
}/* 将图像的中心对齐容器中心 */
.image.center {object-position: center;
}/* 将图像的底部对齐容器底部 */
.image.bottom {object-position: bottom;
}/* 将图像的左侧对齐容器左侧 */
.image.left {object-position: left;
}/* 将图像的右侧对齐容器右侧 */
.image.right {object-position: right;
}/* 将图像的顶部左侧对齐容器的顶部左侧 */
.image.top-left {object-position: top left;
}/* 将图像的顶部中心对齐容器的顶部中心 */
.image.top-center {object-position: top center;
}/* 将图像的顶部右侧对齐容器的顶部右侧 */
.image.top-right {object-position: top right;
}/* 将图像的中心左侧对齐容器的中心左侧 */
.image.center-left {object-position: center left;
}/* 将图像的中心对齐容器的中心中心 */
.image.center-center {object-position: center center;
}/* 将图像的中心右侧对齐容器的中心右侧 */
.image.center-right {object-position: center right;
}/* 将图像的底部左侧对齐容器的底部左侧 */
.image.bottom-left {object-position: bottom left;
}/* 将图像的底部中心对齐容器的底部中心 */
.image.bottom-center {object-position: bottom center;
}/* 将图像的底部右侧对齐容器的底部右侧 */
.image.bottom-right {object-position: bottom right;
}/* 将图像的水平位置设置为容器宽度的 25%

5.scroll-margin-top (滚动的顶边距)

image.png

默认情况下,当我们点击页面上的锚链接 (例如 <a href="#fairy-tale__inner">行程</a>) 时,浏览器会滚动到该元素的顶端。但是,如果我们想在滚动后元素顶部预留一些空隙,就可以使用 scroll-margin-top 属性。

例如,以下代码可以让链接点击后,在滚动到 “#fairy-tale__inner” 元素时,该元素距离浏览器窗口顶部预留 100 像素的空白:

#fairy-tale__inner {scroll-margin-top: 100px;
}

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语国际音标 - DJ 音标 - KK 音标

英语国际音标 - DJ 音标 - KK 音标 1. 国际音标 (International Phonetic Alphabet&#xff0c;IPA)1.1. 记音类型1.2. 48 个国际音标发音表1.2.1. 元音 (vowel)1.2.1.1. 单元音 (monophthong)1.2.1.2. 双元音 (diphthong) 1.2.2. 辅音 (consonant)1.2.2.1. 清音 (voiceless so…

深入探讨跨域请求(CORS):原理、解决方案与详细示例代码

深入探讨跨域请求&#xff08;CORS&#xff09;&#xff1a;原理、解决方案与详细示例代码 &#x1f310; 深入探讨跨域请求&#xff08;CORS&#xff09;&#xff1a;原理、解决方案与详细示例代码 &#x1f310;摘要引言正文内容什么是跨域&#xff1f;为什么会有跨域问题&am…

Word表格里的文字如何上下、水平都居中

全选表格 表格工具——布局 在对齐方式那里

Adobe Premiere Pro 2024下载安装(视频剪辑软件Pr2024)

百度网盘下载地址&#xff08;含PR教学课程&#xff08;PR从入门到精通108节课程&#xff09;&#xff09;https://pan.baidu.com/s/1WKYZENoMzTcKhbgMgbEPGQ?pwdSIMS 一、Pr简介 Pr全称Premiere&#xff0c;是Adobe公司开发的一款功能强大的视频剪辑软件&#xff0c;目前被…

LLVM 后端执行流程

异构计算程序工作流程 图4-1中的LLVM后端的主要功能是代码生成&#xff0c;其中包括若干指令生成分析转换pass&#xff0c;将LLVM IR 转换为特定目标架构的机器代码 LLVM 流水线结构 输入指令经过图4-2中的各个阶段&#xff0c;从最初的LLVM IR&#xff0c;逐步演化为Selectio…

【Python】使用pip安装seaborn sns及失败解决方法与sns.load_dataset(“tips“)

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 &#x1f913; 同时欢迎大家关注其他专栏&#xff0c;我将分享Web前后端开发、人工智能、机器学习、深…

《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后

5.35从4月开始一直到成功&#xff0c;此文章将所有的记录和不同阶段代码展现给大家。但是没有配图&#xff0c;我最后成功的代码放在了最后。 2024.04.15 05.35.01version 求完整数&#xff0c;这个让我突然有点蒙。我什么时候能求完整数呢&#xff1f;&#xff1f; 正因子之和…

网络分析(ArcPy)

一.前言 GIS中的网络分析最重要的便是纠正拓扑关系&#xff0c;建立矫正好的网络数据集&#xff0c;再进行网络分析&#xff0c;一般大家都是鼠标在arcgis上点点点&#xff0c;今天说一下Arcpy来解决的方案&#xff0c;对python的要求并不高,具体api参数查询arcgis帮助文档即可…

JavaScript 使用优先级队列的霍夫曼编码(Huffman Coding using Priority Queue)

先决条件&#xff1a; 贪婪算法 | (霍夫曼编码)、priority_queue::push() 和 C STL 中的 priority_queue::pop() 。 贪婪算法 | (霍夫曼编码)&#xff1a; C#&#xff1a;C# 霍夫曼编码 | 贪婪算法&#xff08;Huffman Coding | Greedy Algo&#xff09;-CSDN博客 JavaScr…

Java数组的定义 ,基本概念与使用

数组的定义 1.问题:想将一个数据保存起来,我们可以使用变量,但是变量一次只能存储一个数据,所以我们想能不能一次存多个数据2.数组概述:是一个容器,数组本身属于引用数据类型3.作用:一次存储多个数据4.特点:a.既可以存储基本类型的数据,还能存储引用类型的数据b.定长(定义数组…

【Android面试八股文】一图展示 Android生命周期:从Activity到Fragment,以及完整的Android Fragment生命周期

图片来源于&#xff1a;https://github.com/xxv/android-lifecycle Android生命周期&#xff1a;从Activity到Fragment 图&#xff1a;android-lifecycle-activity-to-fragments.png 完整的Android Fragment生命周期 图&#xff1a;complete_android_fragment_lifecycle.png…

人脸考勤项目实训

第一章 Python-----Anaconda安装 文章目录 第一章 Python-----Anaconda安装前言一、Anaconda是什么&#xff1f;二、Anaconda的前世今生二、Windows安装步骤1.官网下载2.安装步骤安装虚拟环境 总结 前言 工欲善其事必先利其器&#xff0c;项目第一步&#xff0c;安装我们的环境…

Django ListView 列表视图类

ListView是Django的通用视图之一&#xff0c;它用于显示一个对象列表。这个视图将所有的对象作为一个上下文变量传递给模板。 1&#xff0c;创建应用 python manage.py startapp app3 2&#xff0c;注册应用 Test/Test/settings.py Test/Test/urls.py 3&#xff0c;添加模型 …

【EDA】SSTA中最慢路径与最快路径统计计算

假设(X1,X2)为二元高斯随机向量,均值(μ1,μ2),标准差(σ1,σ2),相关系数ρ 定义:X=max(X1,X2),Y=min(X1,X2) SSTA中计算setup/hold的worst delay时即求X、Y,路径N对应维度为N维。 X的概率密度函数PDF为f(x)=f1(-x)+f2(-x),f1和f2为: 其中小Φ和大Φ…

牛客题目数据结构

做过线段树2模板大概可以写出一部分代码&#xff0c;这题主要关键点是怎么维护平方和 借图了 这样处理完maketag的代码就出来了 void maketag(int id,int l,int r,ll v,int opt){if(opt1){seg[id].val*v;seg[id].pfval*(v*v);seg[id].mul*v;seg[id].add*v;}else{seg[id].pfva…

【机器学习】决策树模型(个人笔记)

文章目录 多样性指标基尼杂质指数&#xff08;Gini Impurity Index&#xff09;熵&#xff08;Entropy&#xff09; 决策树的应用 源代码文件请点击此处&#xff01; 多样性指标 基尼杂质指数&#xff08;Gini Impurity Index&#xff09; 若集合中包含 m m m 个元素和 n …

LeetCode1318或运算的最小翻转次数

题目描述 给你三个正整数 a、b 和 c。你可以对 a 和 b 的二进制表示进行位翻转操作&#xff0c;返回能够使按位或运算 a OR b c 成立的最小翻转次数。「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。 解析 这一题就按位依次比较就行了。取这…

[C++数据结构之看懂就这一篇]图(上)

&#x1f4da;博客主页&#xff1a;Zhui_Yi_&#x1f50d;&#xff1a;上期回顾&#xff1a;JAVA面向对象&#xff08;上&#xff09;❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️&#x1f387;追当今朝…

Simscape Multibody与RigidBodyTree:机器人建模

RigidBodyTree&#xff1a;主要用于表示机器人刚体结构的动力学模型&#xff0c;重点关注机器人的几何结构、质量和力矩&#xff0c;以及它们如何随时间变化。它通常用于计算机器人的运动和受力情况。Simscape Multibody&#xff1a;作为Simscape的一个子模块&#xff0c;专门用…

情景题之小明的Linux实习之旅:linux实战练习1(下)【基础命令,权限修改,日志查询,进程管理...】

小明的Linux实习之旅&#xff1a;基础指令练习情景练习题下 前景提要小明是怎么做的场景1&#xff1a;初识Linux&#xff0c;创建目录和文件场景2&#xff1a;权限管理&#xff0c;小明的权限困惑场景3&#xff1a;打包与解压&#xff0c;小明的备份操作场景4&#xff1a;使用G…