div+css3绘制基本图形

基本图形包括:矩形、圆角矩形、圆形、椭圆形、三角形、值线、弧

这些图形的绘制用到了CSS圆角属性,不考虑IE8。

下面的实现在chrome浏览器运行通过。

1.矩形

比较简单,通过CSS设置宽度、高度、背景色即可。

html:

<div class="rectangle"></div>

css:

        .rectangle {
            width: 150px;
            height: 100px;
            background-color: orangered;
        }

呈现:

2.圆角矩形

在矩形设置的基础上,增加圆角属性设定,这里用的单位是百分比,好处是可适应整体大小的变化而变化。

html:

<div class=‘rounded-rectangle‘></div>

css:

        .rounded-rectangle {
            width: 150px;
            height: 100px;
            background-color: orangered;
            border-radius: 10%;
        }

呈现:

3.圆

设置为正方形,将圆角设成50%即可,其实就是圆角的半径为正方形的的半径。

html:

<div class=‘circle‘></div>

css:

        .circle {
            width: 100px;
            height: 100px;
            background-color: orangered;
            border-radius: 50%;
        }

呈现:

4.椭圆

在圆形的基础上,将正方形设置成矩形即可。

html:

<div class=‘ellipse‘></div>

css:

        .ellipse {
            width: 150px;
            height: 100px;
            background-color: orangered;
            border-radius: 50%;
        }

呈现:

5.三角形

乍一看三角形这个样子,还真是无从下手,没有什么现成的方法一步到位的完成,绘制它需要用到border的特性,这个很有意思。

html:

<div class=‘triangle‘></div>

分解1

现在我们来看一下有趣的border,做一个正方形,宽高都设成100px,设定四个边的border的宽度为10px,每条边设置不同的颜色。

        .triangle{
            width: 100px;
            height: 100px;
            border-style: solid;
            background-color: orangered;
            border-top-color: red;
            border-right-color: green;
            border-bottom-color: blue;
            border-left-color:blueviolet;
            border-top-width: 10px;
            border-bottom-width: 10px;
            border-left-width: 10px;
            border-right-width: 10px;
        }

呈现后发现很有意思,两条border边的交界处是斜角边,

分解2

继续,将各条边的宽度放大,将正方形宽高都设成0px,将每条边的border的宽度都设成50px(原正方形宽度或高度的一半)

        .triangle{
            width: 0px;
            height: 0px;
            border-style: solid;
            background-color: orangered;
            border-top-color: red;
            border-right-color: green;
            border-bottom-color: blue;
            border-left-color:blueviolet;
            border-top-width: 50px;
            border-bottom-width: 50px;
            border-left-width: 50px;
            border-right-width: 50px;
        }

是不是各个边都露出三角形了,要的形状就出来了,这就是有趣的border。

  

分解3

最后一步就简单了,把不需要的边都透明掉,只留下底边,并且透明掉背景。

        .triangle{
            width: 0px;
            height: 0px;
            border-style: solid;
            background-color: transparent;
            border-top-color: transparent;
            border-right-color: transparent;
            border-bottom-color: blue;
            border-left-color:transparent;
            border-top-width: 50px;
            border-bottom-width: 50px;
            border-left-width: 50px;
            border-right-width: 50px;
        }

透明掉各边和背景后,需要的三角形就出来了,很有趣。

如果要使他变成钝角,就把底边的宽度变小,如果是锐角,就增加宽度。

如果是直角,就把左或右border的宽度设成0px。

各种三角形可通过各边的宽度值的调整来实现。

6.直线

直线就比较简单,压缩高度或宽度就变成了直线。

html:

<div class=‘line‘></div>

css:

        .line{
            width: 100px;
            height: 3px;
            background-color: orangered;
        }

呈现:

7.弧

本质上是利用圆角来实现,现在需要把矩形的左上角的圆角绘制成弧形,那么把右边和底边border的宽度设成0px,让他们不可见,设置左上角圆角的半径,让其变大,看得明显些,其余的圆角半径全都设成0px,这样一个弧形就完成了。

html:

<div class=‘arc‘></div>

css:

        .arc {
            width: 100px;
            height: 100px;
            border-style: solid;
            border-top-width: 10px;
            border-bottom-width: 0px;
            border-left-width: 10px;
            border-right-width: 0px;
            border-top-color: blue;
            border-bottom-color: red;
            border-left-color: red;
            border-right-color: red;
            background-color: transparent;
            border-top-right-radius: 0px;
            border-top-left-radius: 100px;
            border-bottom-right-radius: 0px;
            border-bottom-left-radius: 0px;
        }

呈现:

时间: 2024-12-16 11:13:10

div+css3绘制基本图形的相关文章

css3绘制各种图形效果

如何使用CSS来制作图形,比如说圆形,半圆形,三角形等.今天我特意在网上查阅了一下,介绍这样的教程还是蛮多的,因此我也决定整理一份相关教程出来与大家一起分享. 很少会有人意识到,当浏览器绘制的border,会有一个角度的问题.我们就是得用这样的一个技巧来制作三角的效果.我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容易制作出三角形,然后改变其大小来实现不同的效果.我们一起来看一段代码: 1 2 3 4 5 6 7 .css-arrow-multicolor { border-c

CSS3新特性,绘制常见图形

前言:最近准备做一个自己的网页,设计稿中导航我准备设计成矩形,也有hover样式展示的矩形,当中一些头像等等.以前除了画圆,好像真没认真画过其他图形,今天就画画我们常见到的几个图形. 在此之前我们有必要了解下什么是伪元素(和它不同的,还有一个概念叫伪类,两者容易混淆),没有它画不成图形的. a)伪元素:用来在内容元素的前后插入额外的元素,之所以叫伪元素,就是它们根本就不在文档中生成,只能在外部可见,比如:你F12时,在右边代码框中是不是可以看到? 这里用到的两个伪元素  ①元素之前:before

css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数

本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录的问题吧.一,css画特殊图形. 在网页中,需要一些特殊图形时.比如半圆形,三角形等,我们一般是让ui切图,但是实际上,利用css的边框 (border)属性,我们可以绘制一些有规律的图形. 盒模型中元素有四个角,那么每个角就存在一个弧度的属性. 先看代码: 1 .half_circle{ 2 wi

CSS3 绘制360安仔小精灵[原创]

Css3图形通常由矩形,圆形,椭圆,三角形,梯形等组合而成. 矩形,为display:block的块级元素设定宽高,便能实现, 圆角矩形,椭圆,圆形,则通过border-radius 属性来得到. 圆角矩形,几种写法: 1, border-radius: 70px 30px 60px 0px; 按顺时针方向, 上左,上右,下右,下左, 分别定义了矩形4个角的弧度. 如图: 2.border-radius: 70px 30px 60px ; 不写第4个(下左角)的值,那么值默认与它的对角(上右角)

石头教你如何用纯CSS3绘制三角形、箭头。

经常在有些网站上看到一些三角图形,但通常这些都是图片,现在石头就教你如何用纯css3技术来绘制三角图形. 下面是具体步骤,把这些看一遍你也就懂得怎样来绘制三角形.箭头了. 1.新建一个元素,随便什么元素,不过我习惯性的会用块元素来做.如果行内元素就display:block它. <div class="box"></div> 2.把它的宽高设置为height:0px; width:0px; 3.设置边框border属性,用来实现三角形. 首先要了解border具

css3绘制六边形

六边形思路:使用CSS3绘制六边形主要使用伪类:before和:after在源元素之前和之后再绘制两个元素,并利用css3的边框样式,将这两个元素变成三角形放置在源元素的两端即可. <h2>三角形在左右两侧</h2> <!-- 第一种方法 不兼容低版本浏览器 --> <div class="hexagon1"></div> <!-- 第二种方法 兼容低版本浏览器 --> <div class="he

用纯css3绘制的能自适应浏览器的哆啦a梦动画

最近在研究用css3绘制矢量图,于是就用纯css3绘制了能自适应浏览器宽度的哆啦a梦动画,兼容css3的浏览器都可以正常观看,下面只是网页截图: 废话不多说了,直接给代码. html 代码: <div class="dlam" title="用纯css3绘制的能自适应浏览器的哆啦a梦动画"> <div class="bozi"> <div class="lingdan"> <div c

【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)

[二次元的CSS]—— 用 DIV + CSS3 画咸蛋超人(详解步骤) 2016-05-17 HTML5cn 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦.那就没意思了. 有的同学说,用canvas不是能画得更逼真而且更简单吗?这点我也非常赞同,但我的理由还是,那就没意思了. 这次写的详细一点,把各个部位都拆出来分析. 第一步:头部轮廓 <header></header> .ultraman header

CSS3实现基本图形

http://blog.csdn.net/laokdidiao/article/details/51189476 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3实现基本图形</title> <style> #Circle{ width:100px; height:100px; float: left; backgr