前置知识:border-radius 用法

前言

本篇目标是实现一个椭圆,半椭圆,四分之一椭圆。

一、圆形和椭圆

当我们想实现一个圆形时,通常只要指定 border-radiuswidth/height一半就可以了。

当我们指定的border-radius的值超过了 width/height的一半时,我们仍发现可以实现一个圆形,这是因为:

“当任意两个相邻圆角的半径之和超过 border box
的尺寸时,用户代理必须按比例减小各个边框半径所使用的值,直到他们不会相互重叠为止。”

width: 200px;
height: 200px;
border-radius: 100px;

当然,在我们不确定宽高的情况下,我们也可以用百分比来实现动态的圆形

border-radius: 50%;

所以,使用百分比可以实现当宽高一致时,是个圆,不一致时是个椭圆。

二、半椭圆

如何实现一个半椭圆,那么首先我们就要了解 border-radius 的全部用法。

该属性是一个 简写属性,代表了以下四个属性

  1. border-top-left-radius
  2. border-top-right-radius
  3. border-bottom-right-radius
  4. border-bottom-left-radius

分别代表从左上角 开始 顺时针顺序

当然更方便的还是使用 border-radius 这个简写,当指定不同个数的值时,会有不同的效果

  1. 当有4个值时,每个值分别对应左上角,右上角,右下角,左下角 的半径。
  2. 当有3个值时,第二个值代表右上角和左下角的值。
  3. 当有2个值时,第一个值代表左上角和右下角,第二个值代表右上角和左下角。
  4. 当有1个值时,代表所以的角半径。
    在这里插入图片描述

我们也可以为每个角提供不同的水平和垂直半径。

先介绍下单独一个属性 border-top-left-radius ,它有两个参数, 分别是水平半径和垂直半径。

当水平半径和垂直半径相同时,它的弧度就是圆形的一部分。如果不一样则是椭圆的一部分。

border-top-left-radius: 1em 5em;

在这里插入图片描述

那么四个角,使用border-radius 的实现方式如下, 使用 / 来分隔 水平和垂直 半径。 / 前后其他规则类似
border-radius: 1em/5em;

/* 等价于:*/border-top-left-radius: 1em 5em;
border-top-right-radius: 1em 5em;
border-bottom-right-radius: 1em 5em;
border-bottom-left-radius: 1em 5em;

那么要实现一个半椭圆就可以分别设置水平半径和垂直半径即可。

  1. 设置左上角和右上角 的水平半径为宽度的一半。
  2. 设置左上角和右上角 的垂直半径为高度的全部。
width: 200px;
height: 200px;border-top-left-radius: 50% 100%;
border-top-right-radius:  50% 100%;
/* 等价于 */
border-radius: 50% 50% 0 0 / 100% 100% 0 0;

在这里插入图片描述

那么实现一个四分之一椭圆,也是非常简单的。
我们只需要设置左上角的水平和垂直半径 占满宽和高即可。


width: 200px;
height: 200px;border-top-left-radius: 100%;
/* 等价于 */
border-radius: 100%  0 0 0 / 100%  0 0 0;

在这里插入图片描述

小结

该篇主要描述了如何实现了 椭圆,半椭圆,四分之一椭圆 的方法。
使用百分比实现自适应,设置横纵半径与边同长实现椭圆。
实际上是对 border-radius 的使用方法的详细讲解,我们可以在了解之后实现其他的形状!

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

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

相关文章

善用关系网络:开源AI大模型、AI智能名片与S2B2C商城小程序赋能下的成功新路径

摘要:本文聚焦于关系在个人成功中的关键作用,指出关系即财富,善用关系、拓展人脉是成功的重要途径。在此基础上,引入开源AI大模型、AI智能名片以及S2B2C商城小程序等新兴技术工具,探讨它们如何助力个体在复杂的关系网络…

2025年渗透测试面试题总结-2025年HW(护网面试) 34(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 2025年HW(护网面试) 34 一、网站信息收集 核心步骤与工具 二、CDN绕过与真实IP获取 6大实战方法 三、常…

萤石全新上线企业AI对话智能体,开启IoT人机交互新体验

一、什么是萤石AI对话智能体?如何让设备听得到、听得懂?这次萤石发布的AI对话Agent,让设备能进行自然、流畅、真人感的AI对话智能体,帮助开发者打造符合业务场景的AI对话智能体能力,实现全双工、实时打断、可扩展、对话…

智绅科技:以科技为翼,构建养老安全守护网

随着我国老龄化进程加速,2025年60岁以上人口突破3.2亿,养老安全问题成为社会关注的焦点。智绅科技作为智慧养老领域的领军企业,以“科技赋能健康,智慧守护晚年”为核心理念,通过人工智能、物联网、大数据等技术融合&am…

矩阵系统源码部署实操指南:搭建全解析,支持OEM

矩阵系统源码部署指南矩阵系统是一种高效的数据处理框架,适用于大规模分布式计算。以下为详细部署步骤,包含OEM支持方案。环境准备确保服务器满足以下要求:操作系统:Linux(推荐Ubuntu 18.04/CentOS 7)硬件配…

基于python的个人财务记账系统

博主介绍:java高级开发,从事互联网行业多年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

从 CODING 停服到极狐 GitLab “接棒”,软件研发工具市场风云再起

CODING DevOps 产品即将停服的消息,如同一颗重磅炸弹,在软件研发工具市场炸开了锅。从今年 9 月开始,CODING 将陆续下线其 DevOps 产品,直至 2028 年 9 月 30 日完全停服。这一变动让众多依赖 CODING 平台的企业和个人开发者陷入了…

#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…

深入解析C++驱动开发实战:优化高效稳定的驱动应用

深入解析C驱动开发实战:优化高效稳定的驱动应用 在现代计算机系统中,驱动程序(Driver)扮演着至关重要的角色,作为操作系统与硬件设备之间的桥梁,驱动程序负责管理和控制硬件资源,确保系统的稳定…

SNIProxy 轻量级匿名CDN代理架构与实现

🌐 SNIProxy 轻量级匿名CDN代理架构与实现 🏗️ 1. 整体架构设计 🔹 1.1 系统架构概览 #mermaid-svg-S4n74I2nPLGityDB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-S4n74I2nP…

Qt的信号与槽(一)

Qt的信号与槽(一)1.信号和槽的基本认识2.connect3.关闭窗口的按钮4.函数的根源5.形参和实参的类型🌟hello,各位读者大大们你们好呀🌟🌟 🚀🚀系列专栏:【Qt的学习】 &…

springMVC02-视图解析器、RESTful设计风格,静态资源访问配置

一、SpringMVC 的视图在 SpringMVC 中,视图的作用渲染数据,将模型 Model (将控制器(Controller))中的数据展示给用户。在 Java 代码中,视图由接口 org.springframework.web.servlet.View 表示SpringMVC 视图的种类很多…

Go中使用Google Authenticator

现在为了安全Google二次验证使用越来越平凡了,所以我们自己做的一些产品中,也会用到Google Authenticator。 介绍 Google Authenticator采用的算法是TOTP(Time-Based One-Time Password基于时间的一次性密码),其核心内…

ReactNative【实战系列教程】我的小红书 4 -- 首页(含顶栏tab切换,横向滚动频道,频道编辑弹窗,瀑布流布局列表等)

最终效果 顶栏 modules/index/components/topBar.tsx import icon_daily from "/assets/images/icon_daily.png"; import MaterialIcons from "expo/vector-icons/MaterialIcons"; import { useCallback, useState } from "react"; import { Im…

告别Root风险:四步构建安全高效的服务器管理体系

当整个开发团队都使用root账号操作服务器,且重要数据无备份时,系统如同行走在悬崖边缘。本文将分享一套经过验证的四步解决方案,帮助团队快速提升主机安全性。 为什么必须告别Root账号? 直接使用root账号的风险: &am…

【IM项目笔记】1、WebSocket协议和服务端推送Web方案

这里写自定义目录标题 1、HTTP和WebSocket协议2、WebSocket3、Http VS WebSocket4、WebSocket - 建立连接5、服务端推送Web方案(1) 短轮询(2) 长轮询(3) WebSocket长连接1、HTTP和WebSocket协议 📕 HTTP请求的特点:通信只能由客户端发起。所以,早期很多网站为了实现推送技…

【深度学习新浪潮】什么是上下文长度?

大型语言模型(LLM)的上下文长度是指模型在处理当前输入时能够有效利用的历史文本长度,通常以token(如单词、子词或标点)为单位衡量。例如,GPT-4支持128K token的上下文,而Llama 4 Scout甚至达到了10M token的惊人规模。这一指标直接影响模型在长文档理解、多轮对话等复杂…

Modbus TCP转Profibus网关轻松让流量计与DCS通讯

Modbus TCP转Profibus网关轻松让流量计与DCS通讯工业自动化系统中,协议差异常成为设备互联的“语言障碍”。例如,当流量计采用Modbus TCP协议,而DCS系统仅支持Profibus DP时,如何实现无缝通信?本文将结合技术原理与真实…

云时代下的IT资产管理自动化实践

前言伴随着企业数字化转型进程的加快,IT资产规模日益庞大且复杂。传统的手工IT资产登记、跟踪与管理方式,效率低下且容易出错,已经无法满足现代企业对于敏捷化、可视化和自动化运维的需求。云计算、容器化、微服务架构的普及又进一步加快了资…

Windows主机远程桌面连接Ubuntu24.04主机

最近刚刚换了台新电脑,想着空出老电脑直接装一个Ubuntu系统给新电脑远程连接过去进行开发,就可以完美避开双系统老是要重启切换的问题。仔细一查发现Ubuntu24.04自带了RDP远程工具,大喜!于是探究了一番。 本篇文章将介绍本人探究…