当前位置: 首页 > news >正文

如何用CSS3创建圆角矩形并居中显示?

在网页设计中,圆角矩形因其美观和现代感而被广泛使用,居中显示元素也是一个常见的需求。今天,我们将学习如何使用CSS3的border-radius属性来创建圆角矩形,并将其居中显示在页面上。

用 CSS3 创建并居中显示圆角矩形

如果你正在学习CSS,那么这个实例将非常适合你练手。如果想要更生动的学习CSS,推荐编程狮W3Cschool的HTML + CSS 基础实战,它能让你像玩游戏一样闯关中掌握更多的多前端开发实用技巧。

👉如果你没有HTML基础请先学习《HTML入门课程(含HTML5)》

一、创建圆角矩形

CSS 圆角 border-radius属性

首先,我们来看如何创建一个圆角矩形:

.rectangle { <!-- 定义矩形样式 -->width: 400px; <!-- 设置矩形宽度为400像素 -->height: 300px; <!-- 设置矩形高度为300像素 -->background-color: #4CAF50; /* 设置背景颜色为绿色 */border: 2px solid #000; /* 设置边框为2像素的黑色实线 */border-radius: 10px; /* 设置圆角为10像素 */
}

要使用CSS3创建圆角矩形,你需要使用border-radius属性。border-radius属性允许你为元素的四个角设置圆角。以下是一些基本的使用方法:

单个值

如果你为border-radius属性提供一个值,那么这个值将应用于所有四个角:

css

.rectangle {border-radius: 10px; /* 所有四个角都是10px的圆角 */
}

两个值

如果你提供两个值,第一个值将应用于左上角和右下角,第二个值将应用于右上角和左下角:

css

.rectangle {border-radius: 10px 20px; /* 左上角和右下角是10px的圆角,右上角和左下角是20px的圆角 */
}

三个值

如果你提供三个值,第一个值将应用于左上角,第二个值将应用于右上角和左下角,第三个值将应用于右下角:

css

.rectangle {border-radius: 10px 20px 30px; /* 左上角是10px的圆角,右上角和左下角是20px的圆角,右下角是30px的圆角 */
}

四个值

如果你提供四个值,它们将分别应用于左上角、右上角、右下角和左下角:

css

.rectangle {border-radius: 10px 20px 30px 40px; /* 左上角是10px的圆角,右上角是20px的圆角,右下角是30px的圆角,左下角是40px的圆角 */
}

当然你也可以使用编程狮上的在线生成CSS圆角工具来快速一键获取圆角的css代码

  • 圆角生成器
  • CSS3 border-radius(圆角)效果在线调试工具

二、居中显示

要将圆角矩形居中显示,我们可以使用以下两种方法之一:

方法1:使用Flexbox

什么是Flexbox

将矩形包裹在一个容器中,并使用Flexbox来居中它:

<!DOCTYPE html> <!-- 定义文档类型为HTML5 -->
<html>
<head><meta charset="UTF-8"> <!-- 设置字符编码为UTF-8 --><title>居中显示圆角矩形示例 | 编程狮(w3cschool.cn)</title> <!-- 页面标题 --><style>.container { /* 定义容器样式 */display: flex; /* 使用Flexbox布局 */justify-content: center; /* 水平居中子元素 */align-items: center; /* 垂直居中子元素 */height: 100vh; /* 使容器高度占满整个视口高度 */}.rectangle { /* 定义矩形样式 */width: 400px; /* 设置矩形宽度为400像素 */height: 300px; /* 设置矩形高度为300像素 */background-color: #4CAF50; /* 设置背景颜色为绿色 */border: 2px solid #000; /* 设置边框为2像素的黑色实线 */border-radius: 10px; /* 设置圆角为10像素 */}</style>
</head>
<body><div class="container"> <!-- 使用容器类 --><div class="rectangle"></div> <!-- 使用矩形类 --></div>
</body>
</html>

在这个示例中,.container类使用display: flex属性创建了一个Flexbox布局,justify-content: centeralign-items: center属性分别在水平和垂直方向上居中了子元素。这段代码使用了Flexbox,这是一种现代的布局方式,非常适合于简单的居中任务。

推荐学习

  • 《Flexbox布局基础入门》
  • 《彻底理解CSS Flexbox布局》

方法2:使用绝对定位

position属性

如果你不想使用Flexbox,也可以使用绝对定位来居中元素:

<!DOCTYPE html> <!-- 定义文档类型为HTML5 -->
<html>
<head><meta charset="UTF-8"> <!-- 设置字符编码为UTF-8 --><title>居中显示圆角矩形示例 | 编程狮(w3cschool.cn)</title> <!-- 页面标题 --><style>/* 定义html和body的样式 */html, body {height: 100%; /* 设置高度为视口的100% */margin: 0; /* 移除默认的外边距 */}/* 定义内容容器样式 */.body-content {position: relative; /* 设置定位为相对定位,用于绝对定位子元素的参考 */height: 100%; /* 设置高度为100% */}/* 定义矩形样式 */.rectangle {position: absolute; /* 设置定位为绝对定位 */top: 50%; /* 设置顶部距离为容器高度的50% */left: 50%; /* 设置左边距离为容器宽度的50% */transform: translate(-50%, -50%); /* 使用变换将矩形向上和向左移动50%,实现居中 */width: 400px; /* 设置矩形宽度为400像素 */height: 300px; /* 设置矩形高度为300像素 */background-color: #4CAF50; /* 设置背景颜色为绿色 */border: 2px solid #000; /* 设置边框为2像素的黑色实线 */border-radius: 10px; /* 设置圆角为10像素 */}</style>
</head>
<body><div class="body-content"> <!-- 使用内容容器类 --><div class="rectangle"></div> <!-- 使用矩形类 --></div>
</body>
</html>

在这个示例中,.rectangle类使用position: absolute属性相对于其最近的相对定位祖先(.body-content)进行定位,然后使用transform: translate(-50%, -50%)将其向左和向上移动50%,以实现居中。这段代码使用了绝对定位和transform属性,这是一种更传统的方法,也可以实现相同的效果。

推荐学习:

  • 《CSS 入门课程》

三、提升开发效率的工具

在开发过程中,我们可以使用豆包MarsCode编程助手来提升我们的编码效率。豆包 MarsCode提供了智能补全、智能预测、智能问答等功能,帮助开发者节省时间,释放创造力。它支持超过100种编程语言,并兼容VSCode和JetBrains代码编辑器,是你编程路上的得力助手。详情见《豆包MarsCode官方使用指南》

豆包MarsCode编程助手

通过这篇文章,我们不仅学习了如何使用CSS3创建圆角矩形,还了解了如何将其居中显示在页面上。希望这些知识能够帮助你在前端开发的道路上更进一步。

相关文章:

如何用CSS3创建圆角矩形并居中显示?

在网页设计中&#xff0c;圆角矩形因其美观和现代感而被广泛使用&#xff0c;居中显示元素也是一个常见的需求。今天&#xff0c;我们将学习如何使用CSS3的border-radius属性来创建圆角矩形&#xff0c;并将其居中显示在页面上。 如果你正在学习CSS&#xff0c;那么这个实例将非…...

Java 开发中的指定外部 Jar 路径详解

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云/阿里云/华为云/51CTO&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互…...

python爬虫--小白篇【selenium自动爬取文件】

一、问题描述 在学习或工作中需要爬取文件资源时&#xff0c;由于文件数量太多&#xff0c;手动单个下载文件效率低&#xff0c;操作麻烦&#xff0c;采用selenium框架自动爬取文件数据是不二选择。如需要爬取下面网站中包含的全部pdf文件&#xff0c;并将其转为Markdown格式。…...

TI毫米波雷达原始数据解析之Lane数据交换

TI毫米波雷达原始数据解析之Lane数据交换 背景Lane 定义Lane 确认确认LVDS Lane 数量的Matlab 代码数据格式参考 背景 解析使用mmWave Studio 抓取的ADC Data Lane 定义 芯片与DCA100之间的数据使用LVDS接口传输&#xff0c;使用mmWave Studio 配置过程中有一个选项是LVDS L…...

overscroll-behavior-解决H5在ios上过度滚动的默认行为

1. 问题 开发H5的过程中&#xff0c;经常会有android和ios两边系统需要兼容的情况。在ios上一直有个问题是当H5内容触及到页面顶部或底部时&#xff0c;还是可以被人为的往下或往下拉动界面。当然可能有的情况是比较适用的&#xff0c;比如你往下拉动&#xff0c;然后在导航栏…...

Nacos配置中心总结

Nacos配置中心总结 Nacos配置文件的加载顺序和优先级 加载顺序 nacos作为配置中心时&#xff0c;需要在bootstrap.yml文件中添加nacos config相关的配置&#xff0c;这样系统启动时就能先去拉取nacos server上的配置了。拉取过来后会和本地配置文件进行合并。 bootstrap.ym…...

rouyi(前后端分离版本)配置

从gitee上下载&#xff0c;复制下载地址&#xff0c;到 点击Clone&#xff0c;下载完成&#xff0c; 先运行后端&#xff0c;在运行前端 运行后端&#xff1a; 1.配置数据库&#xff0c;在Navicat软件中&#xff0c;连接->mysql->名字自己起(rouyi-vue-blog),用户名roo…...

超大规模分类(一):噪声对比估计(Noise Contrastive Estimation, NCE)

NCE损失对应的论文为《A fast and simple algorithm for training neural probabilistic language models》&#xff0c;发表于2012年的ICML会议。 背景 在2012年&#xff0c;语言模型一般采用n-gram的方法&#xff0c;统计单词/上下文间的共现关系&#xff0c;比神经概率语言…...

Windows 下安装 triton 教程

目录 背景解决方法方法一&#xff1a;&#xff08;治标不治本&#xff09;方法二&#xff1a;&#xff08;triton-windows&#xff09;- 安装 MSVC 和 Windows SDK- vcredist 安装- whl 安装- 验证 背景 triton 目前官方只有Linux 版本&#xff0c;若未安装&#xff0c;则会出…...

复盘与导出工具最新版9.15重磅发布-全新UI兼容所有windows系统

在9.11版本的基础上大更新: 1.应付费用户需求修复当更换明亮风格时软件超过电脑屏幕的bug&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 2.支持所有windows版本,32/64位的win xp/7/8/10/11 3.修复开盘啦涨停原因排序bug 4.全新ui风格 5提前爆料:.9.2版本的分开…...

家用电器销售系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...

NRF24L01模块通信实验

NRF24L01简要介绍 这里主要介绍模块的最重要的参数&#xff0c;废话就不多介绍了。   该模块是一款无线通信模块&#xff0c;一个模块即可同时具备发射和接收数据的功能&#xff0c;但是要想实现通信必须使用两个模块之间才能进行通信。NRF24L01模块使用的总线控制方式为SPI总…...

2024年12月CCF-GESP编程能力等级认证Scratch图形化编程三级真题解析

本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(一共 15 个题目,每题 2 分,共 30 分) 第 1 题 2024 年 10 月 8 日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰霍普菲尔德(John J. …...

【MySQL系列】VARCHAR为啥一般是255

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

图文教程:使用PowerDesigner导出数据库表结构为Word/Html文档

1、第一种情况-无数据库表&#xff0c;但有数据模型 1.1 使用PowerDesigner已完成数据建模 您已经使用PowerDesigner完成数据库建模&#xff0c;如下图&#xff1a; 1.2 Report配置和导出 1、点击&#xff1a;Report->Reports&#xff0c;如下图&#xff1a; 2、点击&…...

Coroutine 基础五 —— Flow 之 Channel 篇

1、Channel 与 Flow 简介与对比 所有知识都可总结为一个字 —— 流。包括数据流、事件流、状态流。 开发中最常用的 StateFlow 提供状态订阅。可以将一些信息包进 StateFlow 中进行保存。比如界面上显示的字符串&#xff0c;或者系统级别的信息&#xff0c;如用户状态。装进 …...

快速掌握Elasticsearch检索之二:滚动查询(scrool)获取全量数据(golang)

Elasticsearch8.17.0在mac上的安装 Kibana8.17.0在mac上的安装 Elasticsearch检索方案之一&#xff1a;使用fromsize实现分页 1、滚动查询的使用场景 滚动查询区别于上一篇文章介绍的使用from、size分页检索&#xff0c;最大的特点是&#xff0c;它能够检索超过10000条外的…...

C++设计模式:状态模式(自动售货机)

什么是状态模式&#xff1f; 状态模式是一种行为型设计模式&#xff0c;它允许一个对象在其内部状态发生改变时&#xff0c;动态改变其行为。通过将状态相关的逻辑封装到独立的类中&#xff0c;状态模式能够将状态管理与行为解耦&#xff0c;从而让系统更加灵活和可维护。 通…...

【网络安全实验室】脚本关实战详情

难道向上攀爬的那条路&#xff0c;不是比站在顶峰更让人热血澎湃吗 1.key又又找不到了 点击链接&#xff0c;burp抓包&#xff0c;发送到重放模块&#xff0c;点击go 得到key 2.快速口算 python3脚本 得到key 3.这个题目是空的 试了一圈最后发现是 4.怎么就是不弹出key呢…...

ts总结一下

ts基础应用 /*** 泛型工具类型*/ interface IProps {id: string;title: string;children: number[]; } type omita Omit<IProps, id | title>; const omitaA: omita {children: [1] }; type picka Pick<IProps, id | title>; const pickaA: picka {id: ,title…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...