首页 > 其他分享 >css border-radius 如何设置不占div宽度,向外突出

css border-radius 如何设置不占div宽度,向外突出

时间:2024-05-10 10:59:16浏览次数:31  
标签:圆角 向外 元素 radius div border

在CSS中,border-radius 用于创建元素的圆角边框,但边框圆角本身是包含在元素的总宽度和高度内的,并不会额外占用外部空间或使元素尺寸变大。如果你想让圆角“向外突出”,即不占用div本身的宽度和高度,可以通过一些技巧来模拟这种效果。

一种常见的方法是使用伪元素 (::before::after) 来创建额外的层,这些层具有透明的背景和颜色,以及较大的圆角,从而营造出边框圆角向外扩展的视觉效果。下面是一个简单的示例:

div {
  position: relative;
  width: 200px;
  height: 100px;
  background-color: #f0f0f0; /* div 的背景色 */
}

/* 创建向外突出的圆角效果 */
div::before {
  content: "";
  position: absolute;
  top: -10px; /* 负值使伪元素向上偏移,以创建上部的外凸圆角 */
  left: -10px; /* 负值使伪元素向左偏移,以创建左侧的外凸圆角 */
  right: -10px; /* 同理,右侧 */
  bottom: -10px; /* 底部 */
  background-color: transparent; /* 或与父元素相同的背景色,以保持透视感 */
  border-radius: 20px; /* 设置你想要的圆角大小 */
  z-index: -1; /* 确保伪元素在div的下方 */
}

在这个例子中,我们通过负的边距(margin)使伪元素超出了div的边界,并且给予了透明的背景色,这样圆角就仿佛是从div的边缘向外扩展出去的。
记得调整top, right, bottom, left以及border-radius的具体数值来达到你想要的效果。

请注意,这种方法可能会对页面布局产生影响,尤其是当元素之间间距紧密或者有其他定位元素时,需要仔细调整以避免重叠或布局错乱。

标签:圆角,向外,元素,radius,div,border
From: https://www.cnblogs.com/longmo666/p/18183799

相关文章

  • Topcoder SRM622-Div1-Lv2 Ethernet
    涉及知识点:图论贪心题意有一颗\(n\(\leq50)\)个节点的树,节点\(i\)的父亲为fa[i],到父亲的边的边权为dis[i],边权\(\leq500\)。现在要将每个点分配到\(k\)个连通子图中的一个,使得子图中距离最长的两个点距离小于\(maxd\),定义子图为:如果\(u\)和\(v\)都是该子图的......
  • Topcoder SRM647-Div1-Lv2 CtuRobots
    涉及知识点:动态规划题意有\(n\(\leq500)\)个机器人,每个机器人的价格为\(cost_i\(\leq10^4)\),油箱容量为\(cap_i\(\leq10^9)\),一单位燃料可以走一单位距离,你可以给购买的机器人编号,机器人\(k\)可以给机器人\(k+1\)补充燃料,但是任意时刻机器人的燃料不能超过其油箱......
  • Codeforces Round 942 (Div. 2) D2
    链接题目要求用数学一点的形式表达出来就是统计有多少a,b满足1.\(1\leqa\leqn,1\leqb\leqm\)2.\(\existsk\inN^*,使得b\timesgcd(a,b)=k\times(a+b)\)首先,把a和b改写,使得\(gcd(a,b)\)消失\(a=q*d,b=p*d\),则,\(gcd(a,b)=d\)条件二变为:\(p\timesd^2=k\times(q\t......
  • 2024-05-06 vue获取页面元素高度(注意view标签无法获取到高度,请用div)
    要获取元素高度要满足以下条件:1、组件或页面已加载完毕;2、使用ref绑定的是标准的dom先贴获取方法:用ref绑定元素title,然后在mounted使用this.$refs.title.offsetHeight获取。为什么要满足条件1?因为页面没渲染完成是无法获取到元素的。为什么要满足条件2?如果你是使......
  • Codeforces Round 941 (Div. 2) Div 1 cf941 A-D
     A感觉A比较复杂啊,相比较B简单明了。way1只要有相同的一个数,它的数目大于等于k,那么它就可以进行一次操作,接下来可以再摸k-1个数,那么对于无法凑成k个数的数字来说,无论现在它有多少个数(>=1),加上这k-1个数,都能凑成数目>=k。同时,这个操作可以无限循环下去。所以这道题的出题设......
  • [ARC159F] Good Division
    题意给定一个长度为\(2\timesn\)的数列\(S\)。称一个数列是好的,当且仅当数列中的数可以由每次删除相邻两个不同的数的操作删空。求划分该数列为若干好的字串的方案数。Sol集中注意力。首先显然长度为奇数的序列是没法做的。若序列存在绝对众数,则该序列一定无法删除......
  • G1. Division + LCP (easy version)
    原题链接题解1.二分查找前缀出现次数,用\(kmp\)优化查找算法code#include<bits/stdc++.h>usingnamespacestd;chars[200005];intpre[200005]={0},occ[200005]={0};intn,x;intsolve(intlen){intcnt=1;intit=0;for(intj=len+1;j<=n;j++){......
  • Codeforces Round 943 (Div. 3)
    CodeforcesRound943(Div.3)A.Maximize?题意:给定x,求一个范围在[1,x)的数字y,内使得gcd(x,y)+y最大,输出任意的y思路:数据范围很小,暴力枚举即可voidsolve(){intx;cin>>x;inty=1,ma=0;for(inti=1;i<x;i++){intres=__gc......
  • G2. Division + LCP (hard version)
    G2.Division+LCP(hardversion)Thisisthehardversionoftheproblem.Inthisversion$l\ler$.Youaregivenastring$s$.Forafixed$k$,consideradivisionof$s$intoexactly$k$continuoussubstrings$w_1,\dots,w_k$.Let$f_k$bethemaximal......
  • Codeforces Round 943 (Div. 3)
    无伤但没速通,然后被hack两个题,直接从rk90掉到rk114514+了,我是真他妈的服了。特此纪念A暴力枚举秒了。B二分答案秒了C他妈脑子抽了,差一步完全整解。我们发现只要确定\(a_{\mathbf{1}}\)那么你直接不断加\(x_i\)就能求出\(a_i\),但是直接这么搞过不了样例,观察一下,然后直......