首页技术css做一个炫酷的边框,css边框

css做一个炫酷的边框,css边框

编程之家2026-06-251003次浏览

很多朋友对于css做一个炫酷的边框和css边框不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

css做一个炫酷的边框,css边框

如何用css3画一个有边框的三角形

如果是一个正方形,我们写边时,会用到border,但我们这里讨论的三角形本身就是border,不可能再给border添加border属性,所以我们需要用到其他办法。

最容易想到的,是叠加层。思路是将两个三角形叠加在一起,外层三角形稍大一些,颜色设置成边框所需的颜色;内层三角形绝对定位在里面。整体就能形成带边框三角形的假象。

这里就涉及到一个绝对定位的问题,上、下、左、右四种方向的三角形相对于父级定位是不同的。首先我们来看下,当定位都为0(left:0px; top:0px;)时,会发生什么。

HTML:

<!--向上的三角形-->

<div class="triangle_border_up">

css做一个炫酷的边框,css边框

<span></span>

</div>

<!--向下的三角形-->

<div class="triangle_border_down">

<span></span>

</div>

css做一个炫酷的边框,css边框

<!--向左的三角形-->

<div class="triangle_border_left">

<span></span>

</div>

<!--向右的三角形-->

<div class="triangle_border_right">

<span></span>

</div>

CSS:

/*向上*/

.triangle_border_up{

width:0;

height:0;

border-width:0 30px 30px;

border-style:solid;

border-color:transparent transparent#333;/*透明透明灰*/

margin:40px auto;

position:relative;

}

.triangle_border_up span{

display:block;

width:0;

height:0;

border-width:0 28px 28px;

border-style:solid;

border-color:transparent transparent#fc0;/*透明透明黄*/

position:absolute;

top:0px;

left:0px;

}

/*向下*/

.triangle_border_down{

width:0;

height:0;

border-width:30px 30px 0;

border-style:solid;

border-color:#333 transparent transparent;/*灰透明透明*/

margin:40px auto;

position:relative;

}

.triangle_border_down span{

display:block;

width:0;

height:0;

border-width:28px 28px 0;

border-style:solid;

border-color:#fc0 transparent transparent;/*黄透明透明*/

position:absolute;

top:0px;

left:0px;

}

/*向左*/

.triangle_border_left{

width:0;

height:0;

border-width:30px 30px 30px 0;

border-style:solid;

border-color:transparent#333 transparent transparent;/*透明灰透明透明*/

margin:40px auto;

position:relative;

}

.triangle_border_left span{

display:block;

width:0;

height:0;

border-width:28px 28px 28px 0;

border-style:solid;

border-color:transparent#fc0 transparent transparent;/*透明黄透明透明*/

position:absolute;

top:0px;

left:0px;

}

/*向右*/

.triangle_border_right{

width:0;

height:0;

border-width:30px 0 30px 30px;

border-style:solid;

border-color:transparent transparent transparent#333;/*透明透明透明灰*/

margin:40px auto;

position:relative;

}

.triangle_border_right span{

display:block;

width:0;

height:0;

border-width:28px 0 28px 28px;

border-style:solid;

border-color:transparent transparent transparent#fc0;/*透明透明透明黄*/

position:absolute;

top:0px;

left:0px;

}

效果如图:

为什么不是我们预想的如下图的样子呢

原因是,我们看到的三角形是边,而不是真的具有内容的区域,请回忆下CSS的盒子模型的内容。

绝对定位(position:absolute),是根据相对定位父层内容的边界计算的。

再结合上篇我们最开始写的宽高为0的空div:

这个空的div,content的位置在中心,所以内部三角形是根据中心这个点来定位的。

为了看清楚一些,我们使用上一次的方法,给span增加一个阴影:

1

box-shadow:0 0 2px rgba(0,0,0,1);

效果如图:

这回我们明确的知道了,内部的三角形都是根据外部三角形实际内容的点来定位的,而非我们肉眼看到的三角形的边界定位。

HTML不变,CSS:

/*向上*/

.triangle_border_up{

width:0;

height:0;

border-width:0 30px 30px;

border-style:solid;

border-color:transparent transparent#333;/*透明透明灰*/

margin:40px auto;

position:relative;

}

.triangle_border_up span{

display:block;

width:0;

height:0;

border-width:0 28px 28px;

border-style:solid;

border-color:transparent transparent#fc0;/*透明透明黄*/

position:absolute;

top:1px;

left:-28px;

}

/*向下*/

.triangle_border_down{

width:0;

height:0;

border-width:30px 30px 0;

border-style:solid;

border-color:#333 transparent transparent;/*灰透明透明*/

margin:40px auto;

position:relative;

}

.triangle_border_down span{

display:block;

width:0;

height:0;

border-width:28px 28px 0;

border-style:solid;

border-color:#fc0 transparent transparent;/*黄透明透明*/

position:absolute;

top:-29px;

left:-28px;

}

/*向左*/

.triangle_border_left{

width:0;

height:0;

border-width:30px 30px 30px 0;

border-style:solid;

border-color:transparent#333 transparent transparent;/*透明灰透明透明*/

margin:40px auto;

position:relative;

}

.triangle_border_left span{

display:block;

width:0;

height:0;

border-width:28px 28px 28px 0;

border-style:solid;

border-color:transparent#fc0 transparent transparent;/*透明黄透明透明*/

position:absolute;

top:-28px;

left:1px;

}

/*向右*/

.triangle_border_right{

width:0;

height:0;

border-width:30px 0 30px 30px;

border-style:solid;

border-color:transparent transparent transparent#333;/*透明透明透明灰*/

margin:40px auto;

position:relative;

}

.triangle_border_right span{

display:block;

width:0;

height:0;

border-width:28px 0 28px 28px;

border-style:solid;

border-color:transparent transparent transparent#fc0;/*透明透明透明黄*/

position:absolute;

top:-28px;

left:-29px;

效果如图:

进一步来写气泡框的三角形,如图所示:

HTML:

<div class="test_triangle_border">

<a rel="external nofollow" href="#">三角形</a>

<div class="popup">

<span><em></em></span>纯CSS写带边框的三角形

</div>

</div>

CSS:

.test_triangle_border{

width:200px;

margin:0 auto 20px;

position:relative;

}

.test_triangle_border a{

color:#333;

font-weight:bold;

text-decoration:none;

}

.test_triangle_border.popup{

width:100px;

background:#fc0;

padding:10px 20px;

color:#333;

border-radius:4px;

position:absolute;

top:30px;

left:30px;

border:1px solid#333;

}

.test_triangle_border.popup span{

display:block;

width:0;

height:0;

border-width:0 10px 10px;

border-style:solid;

border-color:transparent transparent#333;

position:absolute;

top:-10px;

left:50%;/*三角形居中显示*/

margin-left:-10px;/*三角形居中显示*/

}

.test_triangle_border.popup em{

display:block;

width:0;

height:0;

border-width:0 10px 10px;

border-style:solid;

border-color:transparent transparent#fc0;

position:absolute;

top:1px;

left:-10px;

}

(2)东北、东南、西北、西南三角形的写法

继续,来写西北方(↖),东北方(↗),西南方(↙),东南方(↘)的三角形。

原理如图:

根据颜色的划分,每个可以有两种CSS来写,分别利用不同的边来创造所需三角形。

写一个nw(↖)的例子:

HTML:

1

<div class="triangle_border_nw"></div>

CSS(1):

.triangle_border_nw{

width:0;

height:0;

border-width:30px 30px 0 0;

border-style:solid;

border-color:#6c6 transparent transparent transparent;

margin:40px auto;

position:relative;

}

CSS(2):

.triangle_border_nw{

width:0;

height:0;

border-width:0 0 30px 30px;

border-style:solid;

border-color:transparent transparent transparent#6c6;

margin:40px auto;

position:relative;

}

两种CSS效果均如图所示:

以上是利用CSS写三角形,晋级到

(1)有边框的三角形

(2)东北、东南、西北、西南三角形的写法

div css圆角边框怎么设置

css3有一种新功能就是给div或者是图片等圆角,圆角代码怎么写你知道吗,作为一个经常写css的网站制作者,今天跟大家分享一下css圆角边框代码,当然图片圆角也是一样的,我分享的代码尽量兼容各种浏览器,包括ie、360浏览器、百度浏览器、谷歌浏览器等

方法/步骤

1.css代码:

.yj{

padding:10px; width:300px; height:50px;

border: 2px solid#000000;

-moz-border-radius: 15px;

-webkit-border-radius: 15px;

border-radius:15px;

}

-moz-border-radius: 15px;-webkit-border-radius: 15px;这两个是为了兼容其他一些不常用浏览写的css圆角代码

html代码:

<div class="yj">这个div四个角都圆15px;</div>

结果如下:

2.图片圆角也是一样的:

css代码:

.yj{-moz-border-radius: 15px;-webkit-border-radius: 15px; border-radius:15px;}

html代码:

<img src="xp.jpg" width="100px" height="100px;" class="yj"/>

3.css3圆角代码也支持上下左右的:

css代码这么写:

.yj{

padding:10px; width:300px; height:50px;

border: 2px solid#000000;

-moz-border-radius: 0px 0px 20px 25px;;

-webkit-border-radius: 0px 0px 20px 25px;;

border-radius:0px 0px 20px 25px;;

}

4.圆角代码也支持拆分的(四个边框都圆角10px的拆分css代码如下):

border-top-left-radius: 10px;

border-top-right-radius: 10px;

border-bottom-right-radius:10px;

border-bottom-left-radius: 10px;

如何使用Css实现圆角边框的效果

这篇文章主要介绍了关于如何使用Css实现圆角边框的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一、CSS3圆角的优点

传统的圆角生成方案,必须使用多张图片作为背景图案。CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点:

*减少维护的工作量。图片文件的生成、更新、编写网页代码,这些工作都不再需要了。

*提高网页性能。由于不必再发出多余的HTTP请求,网页的载入速度将变快。

*增加视觉可靠性。某些情况下(网络拥堵、服务器出错、网速过慢等等),背景图片会下载失败,导致视觉效果不佳。CSS3就不会发生这种情况。

二、border-radius属性

CSS3圆角只需设置一个属性:border-radius(含义是"边框半径")。你为这个属性提供一个值,就能同时设置四个圆角的半径。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。

比如,下面是一个div方框:

现在设置它的圆角半径为15px:

border-radius: 15px;

这条语句同时将每个圆角的"水平半径"(horizontal radius)和"垂直半径"(vertical radius)都设置为15px。

border-radius可以同时设置1到4个值。如果设置1个值,表示4个圆角都使用这个值。如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值。如果设置三个值,表示左上角使用第一个值,右上角和左下角使用第二个值,右下角使用第三个值。如果设置四个值,则依次对应左上角、右上角、右下角、左下角(顺时针顺序)。

border-radius: 15px 5px;

border-radius: 15px 5px 25px;

border-radius: 15px 5px 25px 0px;

(左下角的半径为0,就变成直角了。)

border-radius还可以用斜杠设置第二组值。这时,第一组值表示水平半径,第二组值表示垂直半径。第二组值也可以同时设置1到4个值,应用规则与第一组值相同。

border-radius: 15px 5px/ 3px;

border-radius: 15px 5px 25px/ 3px 5px;

border-radius: 15px 5px 25px 5px/ 3px 5px 10px 15px;

三、单个圆角的设置

除了同时设置四个圆角以外,还可以单独对每个角进行设置。对应四个角,CSS3提供四个单独的属性:

* border-top-left-radius

* border-top-right-radius

* border-bottom-right-radius

* border-bottom-left-radius

这四个属性都可以同时设置1到2个值。如果设置1个值,表示水平半径与垂直半径相等。如果设置2个值,第一个值表示水平半径,第二个值表示垂直半径。

border-top-left-radius: 15px;

border-top-left-radius: 15px 5px;

四、浏览器支持

IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox

4,都支持上述的border-radius属性。早期版本的Safari和Chrome,支持-webkit-border-radius属性,早期版

本的Firefox支持-moz-border-radius属性。

目前来看,为了保证兼容性,只需同时设置-moz-border-radius和border-radius即可。

-moz-border-radius: 15px;

border-radius: 15px;(注意:border-radius必须放在最后声明,否则可能会失效。)

另外,早期版本Firefox的单个圆角的语句,与标准语法略有不同。

*-moz-border-radius-topleft(标准语法:border-top-left-radius)

*-moz-border-radius-topright(标准语法:border-top-right-radius)

*-moz-border-radius-bottomleft(标准语法:border-bottom-left-radius)

*-moz-border-radius-bottomright(标准语法:border-bottom-right-radius)

五、注意事项

虽然各大浏览器都支持border-radius,但是在某些细节上,实现都不一样。当四个角的颜色、宽度、风格(实线框、虚线框等)、单位都

相同时,所有浏览器的渲染结果基本一致;一旦四个角的设置不相同,就会出现很大的差异。比如,下面这段代码在不同的浏览器中,渲染结果就相差很大。

border-color: black;

border-style: solid dashed;

border-width: 1px 2px 3px;

border-top-color: red;

border-radius: 5%;

另外,并非所有浏览器,都支持将圆角半径设为一个百分比值。

因此,目前最安全的做法,就是将每个圆角边框的风格和宽度,都设为一样的值,并且避免使用百分比值。

以上是CSS3的写法

如下是传统的css圆角边框的代码:

<html>

<head>

<style>

#a{

border-left:1px#333 solid;

border-right:1px#333 solid;

width:300px;

height:200px;

background:#99FFFF;

}

.b{

height:1px;

overflow:hidden;

border-left:1px#333 solid;

border-right:1px#333 solid;

background:#99FFFF;

}

textarea{

width:294px;

height:200px;

background:#99FFFF;

border:0;

border-color:#99FFFF;

overflow:hidden;

}

</style>

</head>

<body>

<div>

<div class="b" style="margin-left:3px;width:294px;background:#333"></div>

<div class="b" style="margin-left:2px;width:296px;"></div>

<div class="b" style="margin-left:1px;width:298px"></div>

<div id="a">

<textarea>

以我的能力,纯DIV+CSS实现的效果只能做到这样了。这里是放置内容的地方,自己看一看代码的规律,很容易明白。

代码很简单,a层为放置内容的层,其width值为300,然后向外以2像素的宽度递减,用一个像素来控制圆角。最外一层要加上background为个属性,目的是要将上、下两线条呈现出来。

这里实现了3像素的圆角边框,b层的数量决定了要实现多少个像素边框。建议不要多于3层,最好是2层,即2像素圆角边框,或者1层,因为层数越多,圆角的表现就越不圆滑。在firefox IE6都通过测试。

</textarea>

</div>

<div class="b" style="margin-left:1px;width:298px"></div>

<div class="b" style="margin-left:2px;width:296px;"></div>

<div class="b" style="margin-left:3px;width:294px;background:#333"></div>

</div>

</body>

</html>

---------------------------------------------------------------

<html>

<head>

<style type="text/css">

u.corner u

{

height: 1px;

font-size:1px;

display: block;

overflow: hidden;

text-decoration: none;

border-color:#CC0033;

border-style:solid;

}

u.corner u.h1{margin: 0 5px;}

u.corner u.h2{margin: 0 3px;}

u.corner u.h3{margin: 0 2px;}

u.corner u.h4{margin: 0 1px; height: 2px}

/*

用一个像素的点和控制边距控制显示位置。这个缺点是只能通过背景色来控制。不能设置边框

*/

</style>

<head>

<body>

<div>

<u class="corner"><u class="h1"></u><u class="h2"></u><u class="h3"></u><u class="h4"></u></u>

<div style="border-color:#CC0033;border-style:solid; height: 210;border-width:0 1px;">content</div>

<u class="corner"><u class="h4"></u><u class="h3"></u><u class="h2"></u><u class="h1"></u></u>

</div>

</body>

</html>

========================================

<fieldset style="width:500px;">

<legend>

标题圆角效果

</legend>

内容比DIV好的圆角效果

</fieldset>

--------------------------------------

<style type="text/css">

#xsnazzy h1,#xsnazzy h2,#xsnazzy p{margin:0 10px; letter-spacing:1px;}

#xsnazzy h1{font-size:2.5em; color:#fff;}

#xsnazzy h2{font-size:2em;color:#06a; border:0;}

#xsnazzy p{padding-bottom:0.5em;}

#xsnazzy h2{padding-top:0.5em;}

#xsnazzy{background: transparent; margin:1em;}

.xtop,.xbottom{display:block; background:transparent; font-size:1px;}

.xb1,.xb2,.xb3,.xb4{display:block; overflow:hidden;}

.xb1,.xb2,.xb3{height:1px;}

.xb2,.xb3,.xb4{background:#ccc; border-left:1px solid#08c; border-right:1px solid#08c;}

.xb1{margin:0 5px; background:#08c;}

.xb2{margin:0 3px; border-width:0 2px;}

.xb3{margin:0 2px;}

.xb4{height:2px; margin:0 1px;}

.xboxcontent{display:block; background:#ccc; border:0 solid#08c; border-width:0 1px;}

</style>

<div id="xsnazzy">

<b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>

<div class="xboxcontent">

<h1>Snazzy Borders</h1>

<p>Based on Nifty Corners By Alessandro Fulciniti<br/>;

content

</div>

<b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"></b></b>

</div>

关于css做一个炫酷的边框和css边框的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

在线api接口测试(api认证查询官网)css的样式 CSS样式