使用CSS实现环绕圆形菜单的数字布局


使用css实现环绕圆形菜单的数字布局

本文旨在指导开发者如何使用CSS实现环绕圆形菜单的数字布局。通过添加额外的wrapper容器,并调整CSS样式中的定位、变换和尺寸属性,可以实现数字围绕圆形菜单的精确环绕效果。本文提供详细的代码示例和步骤,帮助你解决数字定位不准确的问题,并创建一个美观且功能完善的圆形菜单。

在Web开发中,创建具有吸引力的用户界面至关重要。环绕圆形菜单的数字布局是一种常见的交互设计模式,可以用于导航、选项选择等多种场景。本文将详细介绍如何使用CSS来实现这种布局,解决数字位置不准确的问题,并提供优化后的代码示例。

结构调整:添加Wrapper容器

为了更精确地控制数字的位置,我们需要在原有的HTML结构中添加一些wrapper容器。具体来说,我们需要添加一个cn-button-wrapper来包裹中心按钮,以及一个circle-wrapper-outer来包裹数字圆环。

<div class="component csstransforms">
  <div class="cn-button-wrapper">
    <button class="cn-button" id="cn-button">
      @@##@@
    </button>
  </div>

  <div class="cn-wrapper opened-n*" id="cn-wrapper">
    <ul>
      <li>
        <a @click="showMore" href="j*ascript:void(0)"><span class="learn">Learn</span></a>
      </li>
      <li>
        <a @click="showMore2" href="j*ascript:void(0)"><span class="learn1">Review</span></a>
      </li>
      <li>
        <a @click="showMore3" href="j*ascript:void(0)"><span class="learn2">Evaluate</span></a>
      </li>
      <li>
        <a @click="showMore4" href="j*ascript:void(0)"><span class="learn3">Sign-up</span></a>
      </li>
      <li>
        <a @click="showMore5" href="j*ascript:void(0)"><span class="learn4">Engage</span></a>
      </li>
      <li>
        <a @click="showMore6" href="j*ascript:void(0)"><span class="learn5">Share</span></a>
      </li>
      <li>
        <a @click="showMore7" href="j*ascript:void(0)"><span class="learn6">Impact</span></a>
      </li>
      <li>
        <a @click="showMore8" href="j*ascript:void(0)"><span class="learn7">Transform</span></a>
      </li>
    </ul>
  </div>

  <!-- End of N* Structure -->
</div>

<div class="circle-wrapper-outer">
  <div class="circle-wrapper">
    <div class="circle deg-180-new btnDeactivated" id="btn1">1</div>
    <div class="circle deg-225-new btnDeactivated" id="btn2">2</div>
    <div class="circle deg-270-new btnDeactivated" id="btn3">3</div>
    <div class="circle deg-315-new btnDeactivated" id="btn4">4</div>
    <div class="circle deg-0-new btnDeactivated" id="btn5">5</div>
    <div class="circle deg-45-new btnDeactivated" id="btn6">6</div>
    <div class="circle deg-90-new btnDeactivated" id="btn7">7</div>
    <div class="circle deg-135-new btnDeactivated" id="btn8">8</div>
  </div>
</div>

CSS样式调整

接下来,我们需要修改CSS样式来适应新的HTML结构,并精确地定位数字。

  1. .component: 添加display: flex和justify-content: center,使内容水平居中。

    .component {
      position: relative;
      margin-bottom: 3em;
      height: 15em;
      display: flex; /* Added */
      justify-content: center; /* Added */
    }
  2. .cn-button-wrapper: 设置宽度、高度,并使用Flexbox布局将按钮居中。

    .cn-button-wrapper {
      width: 100%;
      height: calc(34rem + 250px);
      display: flex;
      justify-content: center;
      align-items: center;
      margin-left: 15px;
    }
  3. .cn-button: 移除绝对定位相关的属性,因为我们将使用Flexbox来定位它。

    度加剪辑 度加剪辑

    度加剪辑(原度咔剪辑),百度旗下AI创作工具

    度加剪辑 359 查看详情 度加剪辑
    .cn-button {
      position: absolute;
      /* top: 115%; */ /* Removed */
      /* left: 56%; */ /* Removed */
      z-index: 11;
      /* margin-top: -4.5em; */ /* Removed */
      /* margin-left: -5em; */ /* Removed */
      padding: 0;
      width: 8em;
      height: 8em;
      border: none;
      border-radius: 50%;
      background: none;
      background-color: #004691;
      color: #5f259f;
      text-align: center;
      font-weight: 700;
      font-size: 1em;
      text-transform: uppercase;
      cursor: pointer;
      -webkit-backface-visibility: hidden;
      border: 6px solid #fff;
    }
  4. .circle-wrapper-outer: 设置宽度和绝对定位,用于包裹数字圆环。

    .circle-wrapper-outer {
      width: 100%;
      position: absolute;
      top: 0;
      top: 100px;
    }
  5. .circle-wrapper: 设置固定的宽度和高度,并使用margin-left: auto和margin-right: auto使圆环水平居中。

    .circle-wrapper {
      width: 34rem; /* Added */
      height: 34rem; /* Added */
      border-radius: 50%;
      position: relative;
      transform: rotate(23deg);
      margin-left: auto;  /* Added */
      margin-right: auto;  /* Added */
      top: 0;  /* Added */
    }
  6. .circle: 保持原有的样式,用于数字的显示。

    .circle {
      display: block;
      position: absolute;
      top: 54%;
      left: 54%;
      width: 50px;
      height: 50px;
      margin: -48px -48px -48px -53px;
      background: red;
      border-radius: 51%;
      text-align: center;
      line-height: 50px;
    }
  7. *`.deg--new**: 为每个数字添加新的样式,调整translate`的值以精确控制数字的位置。需要根据实际情况调整这些值,以达到最佳的视觉效果。

    .deg-0-new {
      transform: rotate(45deg) translate(325px) rotate(-65deg);
      background: #5ede29;
      color: white;
      font-weight: 600;
    }
    
    .deg-45-new {
      transform: rotate(90deg) translate(325px) rotate(-110deg);
      background: #ffe816;
      color: white;
      font-weight: 600;
    }
    
    .deg-90-new {
      transform: rotate(135deg) translate(325px) rotate(-158deg);
      background: #f74015;
      color: white;
      font-weight: 600;
    }
    
    .deg-135-new {
      transform: rotate(180deg) translate(325px) rotate(-200deg);
      background: #54bef8;
      color: white;
      font-weight: 600;
    }
    
    .deg-180-new {
      transform: rotate(225deg) translate(305px) rotate(-248deg);
      background: #5ede29;
      color: white;
      font-weight: 600;
    }
    
    .deg-225-new {
      transform: rotate(270deg) translate(305px) rotate(-289deg);
      background: #ffe816;
      color: white;
      font-weight: 600;
    }
    
    .deg-270-new {
      transform: rotate(315deg) translate(315px) rotate(-338deg);
      background: #f74015;
      color: white;
      font-weight: 600;
    }
    
    .deg-315-new {
      background: #54bef8;
      transform: rotate(360deg) translate(325px) rotate(-380deg);
      color: white;
      font-weight: 600;
    }
  8. .csstransforms .cn-wrapper: 调整top属性,使圆形菜单位于正确的位置。

    .csstransforms .cn-wrapper {
      position: absolute;
      /* top: 100%; */ /* Removed */
      /* left: 50%; */ /* Removed */
      z-index: 10;
      top: 100px; /* Added */
      /* margin-top: -16em; */ /* Removed */
      /* margin-left: -15.5em; */ /* Removed */
      width: 34em;
      height: 34em;
      border-radius: 50%;
      font-weight: bold;
      background: transparent;
      -webkit-transition: all 0.3s ease 0.3s;
      -moz-transition: all 0.3s ease 0.3s;
      transition: all 0.3s ease 0.3s;
      -webkit-transform: scale(0.1);
      -ms-transform: scale(0.1);
      -moz-transform: scale(0.1);
      transform: scale(0.1);
      pointer-events: none;
      overflow: hidden;
    }

注意事项

  • 浏览器兼容性: 确保你的CSS代码在不同的浏览器上都能正常工作。可以使用Autoprefixer等工具来自动添加浏览器前缀。
  • 响应式设计: 考虑在不同的屏幕尺寸下调整数字和菜单的位置,以确保良好的用户体验。可以使用媒体查询来实现响应式设计。
  • 性能优化: 避免过度使用transform属性,因为它可能会影响性能。尽量使用其他CSS属性来实现相同的效果。

总结

通过添加wrapper容器和调整CSS样式,我们可以实现环绕圆形菜单的数字布局,并解决数字定位不准确的问题。这种布局可以用于多种场景,例如导航、选项选择等。通过本文的指导,你可以轻松地创建美观且功能完善的圆形菜单。

logo

以上就是使用CSS实现环绕圆形菜单的数字布局的详细内容,更多请关注其它相关文章!


# javascript  # css  # 来实现  # 绝对定  # css属性  # css样式  # 响应式设计  # 工具  # app  # 浏览器  # go  # html  # java  # 网站首页优化推荐怎么做  # 郑州网站建设淘宝开店  # 营销推广引流转化方案模板  # seo发展多久了  # 抚州市网站优化  # 奎文区定制网站建设公司  # 餐厅的营销推广策划故事  # 昌平网站营销推广  # 临沂大型网站建设价格  # 鹿寨独特网站建设方案  # 是一种  # 自适应  # 全选  # 如何使用  # 网页设计  # 可以实现  # 双击  # 可以使用  # 不准确 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析  中大网校app做题记录清除方法  在XML中嵌入二进制数据(如图片)的最佳实践是什么? Base64编码与解析注意事项  Vue 3中独立响应式实例的创建与应用  Cassandra中复合主键、二级索引与ORDER BY排序的限制与解决方案  Win11怎么录屏_Windows 11自带Xbox Game Bar录制视频  Flash AS3.0简易相册制作  Retrofit根路径POST请求:@POST("/") 的应用与解析  Win10截图远程协助 Win10远程桌面截屏法【场景应用】  Composer如何使用composer-plugin-api开发自定义插件  猫眼电影app如何筛选支持退改签的影院_猫眼电影退改签影院筛选方法  顺丰快递在线查询系统 顺丰快递官方查单入口  电脑没有声音了怎么办 电脑声音问题的全面排查与修复指南【详解】  如何使用 Optional 类型并满足 Pylint 的类型检查  手机远程连接电脑方法  excel怎么计算平均值 excel平均函数*ERAGE使用教学  Win10运行窗口在哪里打开 Win10调出运行命令框快捷键【技巧】  J*aScript与HTML元素交互:图片点击事件与链接处理教程  深入理解J*aScript异步操作:setTimeout与调用栈的真相  风神瞳获取全攻略  抖音评论无法发送如何修复 抖音评论功能操作指南  iCloud官方网站 iCloud网页版在线登录入口  键盘声音异常怎么回事_键盘异响怎么处理  重返未来:1999卡戎全方位攻略  mysql中如何配置字符集和排序规则_mysql字符集排序配置  WPS长文档分栏排版不乱方法_WPS分栏+分节符报纸排版教程  win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】  J*aScript对象中深度嵌套URL键的查找与更新策略  wps文字怎么设置文字环绕图片的方式_wps文字如何设置文字环绕图片方式  Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】  三星A55应用闪退排查步骤_Samsung A55稳定性优化技巧  百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法  视频号视频怎么提取文案?提取的文案如何优化与使用?  睡觉时心跳快是什么原因 夜间心悸如何应对  基于 Flink 和 Kafka 实现高效流处理:连续查询与时间窗口  QQ网页版官方账号登录入口 QQ网页版网页版入口快速导航  抖音如何解除|直播|权限绑定_抖音关闭并解绑|直播|功能的方法  Pandas中基于动态偏移量实现DataFrame列值位移的策略  AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例  顺丰快递怎么查物流_顺丰快递物流信息实时查询操作指南  天堂漫画网页版在线阅读 天堂漫画手机版入口  mysql中外键约束如何使用_mysql FOREIGN KEY操作  优化响应式标题底部边框:CSS实现技巧与最佳实践  猫眼电影app如何参与官方的抽奖活动_猫眼电影官方抽奖参与方法  win11怎么启用或禁用休眠 Win11 powercfg命令管理休眠文件【技巧】  CSS如何控制元素外边距_margin实现布局间隔  传统曲艺莲花落的表演形式是  VS Code如何设置默认配置  126邮箱申请入口官网_126邮箱注册免费登录2025  获取WooCommerce产品在后台编辑页面的分类ID 

 2025-11-16

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.