切图技巧分享—圆角背景色

简介: 原文:切图技巧分享—圆角背景色一、设计稿 要实现下面这样一个效果,本文重点说的是下面“自动续费,可随时取消”这部分的实现。 我把问题简化一下,变成了 二、解决问题的思路 1、p标签加背景色 一般,很容易想到用p标签实现,代码如下: .
原文: 切图技巧分享—圆角背景色

一、设计稿

要实现下面这样一个效果,本文重点说的是下面“自动续费,可随时取消”这部分的实现。

我把问题简化一下,变成了

二、解决问题的思路

1、p标签加背景色

一般,很容易想到用p标签实现,代码如下:

<style type="text/css">
    .box {
        width: 154px;
        height: 90px;
        float: left;
        border: 1px solid #bfbfbf;
        border-radius: 8px;
        margin: 20px 9px 0 0;
        position: relative;
    }

    p {
        margin: 0;
        margin-top: 50px;
        color: #fd632b;
        background-color: #f7f7f7;
        font-size: 12px;
        text-align: center;

    }
</style>
<body>
<div class="box">
    <p>自动续费,可随时取消</p>
</div>
</body>
View Code

但是会发现p的背景色是是矩形的,并不会按照父容器的border-radius来约束自己的背景色。会超出去如下。

2、父元素overflow:hidden

一般情况可以通过.box的overflow:hidden 让溢出部分不显示。

    .box {
        overflow:hidden;
    }
<style type="text/css">
    .box {
        width: 154px;
        height: 90px;
        float: left;
        border: 1px solid #bfbfbf;
        border-radius: 8px;
        margin: 20px 9px 0 0;
        position: relative;
    overflow:hidden;
    }

    p {
        margin: 0;
        margin-top:74px;
        color: #fd632b;
        background-color: #f7f7f7;
        font-size: 12px;
        text-align: center;

    }
</style>
<body>
<div class="box">
    <p>自动续费,可随时取消</p>
</div>
</body>
View Code

但是我的设计稿里有一个推荐的标签,我直接让父元素overflow:hidden了,那这个推荐标签也无法显示出来了。。

<style type="text/css">
    .box {
        width: 154px;
        height: 90px;
        float: left;
        border: 1px solid #bfbfbf;
        border-radius: 8px;
        margin: 20px 9px 0 0;
        position: relative;
        overflow: hidden;
    }

    p {
        margin: 0;
        margin-top: 74px;
        color: #fd632b;
        background-color: #f7f7f7;
        font-size: 12px;
        text-align: center;

    }
    .label {
        position: absolute;
        top: -6px;
        left: 10px;
        height: 18px;
        font-size: 12px;
        line-height: 18px;
        font-style: normal;
        color: #fff;
        padding: 0 6px;
    }

    .label.rec {
        background-color: #fd632b;
    }
</style>
<body>
<div class="box">
    <em class="label rec">推荐</em>

    <p>自动续费,可随时取消</p>
</div>
</body>
View Code

3、p加border-radius

现在很容易想到,给p也加上一个border-radius。

    p {
    border-radius:0 0 8px 8px;
    }
<style type="text/css">
    .box {
        width: 154px;
        height: 90px;
        float: left;
        border: 1px solid #bfbfbf;
        border-radius: 8px;
        margin: 20px 9px 0 0;
        position: relative;
    }

    p {
        margin: 0;
        margin-top: 74px;
        color: #fd632b;
        background-color: #f7f7f7;
        font-size: 12px;
        text-align: center;
    border-radius:0 0 8px 8px;

    }
    .label {
        position: absolute;
        top: -6px;
        left: 10px;
        height: 18px;
        font-size: 12px;
        line-height: 18px;
        font-style: normal;
        color: #fff;
        padding: 0 6px;
    }

    .label.rec {
        background-color: #fd632b;
    }
</style>
<body>
<div class="box">
    <em class="label rec">推荐</em>

    <p>自动续费,可随时取消</p>
</div>
</body>
View Code

4、另一种思路

也可以通过给父元素设置背景色来实现。

<style type="text/css">
    .box {
        width: 154px;
        height: 90px;
        float: left;
        border: 1px solid #bfbfbf;
        border-radius: 8px;
        margin: 20px 9px 0 0;
        position: relative;
        background-color: #f7f7f7;
    }

    .other {
        height: 74px;
        background-color: #fff;
        border-radius: 8px 8px 0 0;

    }

    p {
        margin: 0;
        color: #fd632b;

        font-size: 12px;
        text-align: center;
        border-radius: 0 0 8px 8px;

    }

    .label {
        position: absolute;
        top: -6px;
        left: 10px;
        height: 18px;
        font-size: 12px;
        line-height: 18px;
        font-style: normal;
        color: #fff;
        padding: 0 6px;
    }

    .label.rec {
        background-color: #fd632b;
    }
</style>
<body>
<div class="box">
    <em class="label rec">推荐</em>
    <div class="other"></div>
    <p>自动续费,可随时取消</p>
</div>
</body>

虽然最后还是要设置border-radius,并不是最佳实践,但也是一种解决问题的思路。

 

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/6728473.html有问题欢迎与我讨论,共同进步。

目录
相关文章
|
4天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1325 4
|
2天前
|
存储 弹性计算 应用服务中间件
2026年阿里云服务器新手租用全流程完整步骤教程(最新版)
2026年阿里云服务器新手租用全流程完整步骤教程,阿里云服务器提供自定义租用、一键租用、云市场租用和活动租用四种核心方式,适配不同配置需求、技术能力和预算场景。无论是需要精准配置的专业用户,还是追求快速部署的新手,都能找到合适的租用方案。以下是详细的适用场景和操作流程,助力高效上云。
257 146
|
5天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
2天前
|
弹性计算 固态存储 大数据
2026年阿里云服务器租用费用_阿里云最新轻量、ECS、GPU云服务器价格表
2026年阿里云服务器租用费用多少钱?小编通过查询全网最新关于阿里云服务器租用价格的资料,整理了今年最新的云服务器租用价格表,包括轻量应用服务器、云服务器ECS和GPU服务器。现在最新阿里云服务器租用费用价格表,轻量2核2G轻量服务器一年68元,折合5.6元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年(企业专享),2核4G4M轻量服务器298元一年,4核8G服务器955元一年,4核16G10M服务器70元1个月、210元3个月,8核32G服务器160元1个月、480元3个月,整理2026阿里云服务器租用费用价格表,包括一年优惠价格、一个月和1小时收费明细表:
217 152
|
4天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
679 4
|
12天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
797 14