如何用 CSS 绘制各种形状

html-css025

如何用 CSS 绘制各种形状,第1张

制作圆形:

要使用CSS来制作一个圆形,我们需要一个div,被给它设置一个ID

<div id="circle"></div>

圆形在设置CSS时要设置宽度和高度相等,然后设置border-radius属性为宽度或高度的一半即可:

#circle {

width: 120px

height: 120px

background: #7fee1d

-moz-border-radius: 60px

-webkit-border-radius: 60px

border-radius: 60px

}

2

制作椭圆形:

椭圆形是正圆形的一个变体,同样使用一个带ID的div来制作

<div id="oval"></div>

设置椭圆形的CSS时,高度要设置为宽度的一半,border-radius属性也要做相应的改变:

#oval {

width: 200px

height: 100px

background: #e9337c

-webkit-border-radius: 100px / 50px

-moz-border-radius: 100px / 50px

border-radius: 100px / 50px

}

3

制作三角形:

要创建一个CSS三角形,需要使用border,通过设置不同边的透明效果,我们可以制作出三角形的现状。另外,在制作三角形时,宽度和高度要设置为0。

<div id="triangle"></div>

#triangle {

width: 0

height: 0

border-bottom: 140px solid #fcf921

border-left: 70px solid transparent

border-right: 70px solid transparent

}

4

制作倒三角形:

与正三角形不同的是,倒三角形要设置的是border-top、border-left和border-right三条边的属性:

#triangle {

width: 0

height: 0

border-top: 140px solid #20a3bf

border-left: 70px solid transparent

border-right: 70px solid transparent

}

5

制作左三角形:

左三角形操作的是border-top、border-left和border-right三条边的属性,其中上边和下边要设置透明属性。

#triangle_left {

width: 0

height: 0

border-top: 70px solid transparent

border-right: 140px solid #6bbf20

border-bottom: 70px solid transparent

}

制作菱形

制作菱形的方法有很多种。这里使用的是transform属性和rotate相结合,使两个正反三角形上下显示。

#diamond {

width: 120px

height: 120px

background: #1eff00

/* Rotate */

-webkit-transform: rotate(-45deg)

-moz-transform: rotate(-45deg)

-ms-transform: rotate(-45deg)

-o-transform: rotate(-45deg)

transform: rotate(-45deg)

/* Rotate Origin */

-webkit-transform-origin: 0 100%

-moz-transform-origin: 0 100%

-ms-transform-origin: 0 100%

-o-transform-origin: 0 100%

transform-origin: 0 100%

margin: 60px 0 10px 310px

}

制作梯形:

梯形是三角形的一个变体,设置CSS梯形时,左右两条边设置为相等,并且给它设置一个宽度。

#trapezium {

height: 0

width: 120px

border-bottom: 120px solid #ec3504

border-left: 60px solid transparent

border-right: 60px solid transparent

}

制作平行四边形:

平行四边形的制作方式是使用transform属性使长方形倾斜一个角度。

#parallelogram {

width: 160px

height: 100px

background: #8734f7

-webkit-transform: skew(30deg)

-moz-transform: skew(30deg)

-o-transform: skew(30deg)

transform: skew(30deg)

}

星形:

星形的HTML结构同样使用一个带ID的空div。星形的实现方式比较复杂,主要是使用transform属性来旋转不同的边。仔细体会下面的代码。

#star {

width: 0

height: 0

margin: 50px 0

color: #fc2e5a

position: relative

display: block

border-right: 100px solid transparent

border-bottom: 70px solid #fc2e5a

border-left: 100px solid transparent

-moz-transform: rotate(35deg)

-webkit-transform: rotate(35deg)

-ms-transform: rotate(35deg)

-o-transform: rotate(35deg)

}

#star:before {

height: 0

width: 0

position: absolute

display: block

top: -45px

left: -65px

border-bottom: 80px solid #fc2e5a

border-left: 30px solid transparent

border-right: 30px solid transparent

content: ''

-webkit-transform: rotate(-35deg)

-moz-transform: rotate(-35deg)

-ms-transform: rotate(-35deg)

-o-transform: rotate(-35deg)

}

#star:after {

content: ''

width: 0

height: 0

position: absolute

display: block

top: 3px

left: -105px

color: #fc2e5a

border-right: 100px solid transparent

border-bottom: 70px solid #fc2e5a

border-left: 100px solid transparent

-webkit-transform: rotate(-70deg)

-moz-transform: rotate(-70deg)

-ms-transform: rotate(-70deg)

-o-transform: rotate(-70deg)

}

六角星形:

和五角星的制作方法不同,六角星形状的制作方法是操纵border属性来制作两半图形,然后合并它们。

#star_six_points {

width: 0

height: 0

display: block

position: absolute

border-left: 50px solid transparent

border-right: 50px solid transparent

border-bottom: 100px solid #de34f7

margin: 10px auto

}

#star_six_points:after {

content: ""

width: 0

height: 0

position: absolute

border-left: 50px solid transparent

border-right: 50px solid transparent

border-top: 100px solid #de34f7

margin: 30px 0 0 -50px

}

六边形:

六边形的制作方法可以有很多种,可以像五边形一样,先制作一个长方形,然后在它的上面和下面各放置一个三角形。

#hexagon {

width: 100px

height: 55px

background: #fc5e5e

position: relative

margin: 10px auto

}

#hexagon:before {

content: ""

width: 0

height: 0

position: absolute

top: -25px

left: 0

border-left: 50px solid transparent

border-right: 50px solid transparent

border-bottom: 25px solid #fc5e5e

}

#hexagon:after {

content: ""

width: 0

height: 0

position: absolute

bottom: -25px

left: 0

border-left: 50px solid transparent

border-right: 50px solid transparent

border-top: 25px solid #fc5e5e

}

心形:

心形的制作是非常复杂的,可以使用伪元素来制作,分别将伪元素旋转不同的角度,并修改transform-origin属性来元素的旋转中心点。

#heart {

position: relative

}

#heart:before,#heart:after {

content: ""

width: 70px

height: 115px

position: absolute

background: red

left: 70px

top: 0

-webkit-border-radius: 50px 50px 0 0

-moz-border-radius: 50px 50px 0 0

border-radius: 50px 50px 0 0

-webkit-transform: rotate(-45deg)

-moz-transform: rotate(-45deg)

-ms-transform: rotate(-45deg)

-o-transform: rotate(-45deg)

transform: rotate(-45deg)

-webkit-transform-origin: 0 100%

-moz-transform-origin: 0 100%

-ms-transform-origin: 0 100%

-o-transform-origin: 0 100%

transform-origin: 0 100%

}

#heart:after {

left: 0

-webkit-transform: rotate(45deg)

-moz-transform: rotate(45deg)

-ms-transform: rotate(45deg)

-o-transform: rotate(45deg)

transform: rotate(45deg)

-webkit-transform-origin: 100% 100%

-moz-transform-origin: 100% 100%

-ms-transform-origin: 100% 100%

-o-transform-origin: 100% 100%

transform-origin: 100% 100%

}

蛋形:

蛋形时椭圆形的一个变体,它的高度要比宽度稍大,并且设置正确的border-radius属性即可以制作出一个蛋形。

#egg {

width: 136px

height: 190px

background: #ffc000

display: block

-webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px

border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%

}

无穷符号:

无穷符号可以通过border属性和设置伪元素的角度来实现。

#infinity {

width: 220px

height: 100px

position: relative

}

#infinity:before,#infinity:after {

content: ""

width: 60px

height: 60px

position: absolute

top: 0

left: 0

border: 20px solid #06c999

-moz-border-radius: 50px 50px 0

border-radius: 50px 50px 0 50px

-webkit-transform: rotate(-45deg)

-moz-transform: rotate(-45deg)

-ms-transform: rotate(-45deg)

-o-transform: rotate(-45deg)

transform: rotate(-45deg)

}

#infinity:after {

left: auto

right: 0

-moz-border-radius: 50px 50px 50px 0

border-radius: 50px 50px 50px 0

-webkit-transform: rotate(45deg)

-moz-transform: rotate(45deg)

-ms-transform: rotate(45deg)

-o-transform: rotate(45deg)

transform: rotate(45deg)

}

消息提示框:

消息提示框可以先制作一个圆角矩形,然后在需要的地方放置一个三角形。

#comment_bubble {

width: 140px

height: 100px

background: #088cb7

position: relative

-moz-border-radius: 12px

-webkit-border-radius: 12px

border-radius: 12px

}

#comment_bubble:before {

content: ""

width: 0

height: 0

right: 100%

top: 38px

position: absolute

border-top: 13px solid transparent

border-right: 26px solid #088cb7

border-bottom: 13px solid transparent

}

步骤阅读

1、CSS 概述CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一

2、HTML 标签原本被设计为用于定义文档内容。通过使用

,

,

这样的标签,HTML 当初被指望用来表达“这是标题”、“这是段落”、“这是表格”之类的信息。而文档的布局被期望由浏览器来完成,而不使用任何的格式化标签。由于两种主要的浏览器(Netscape 和 Internet Explorer)不断地将新的 HTML 标签和属性(比如字体标签和颜色属性)添加到 HTML 规范之中,因此创建文档内容清晰地独立于文档表现层的站点变得越来越困难。为了解决这个问题,万维网联盟(W3C),这个非营利的标准化联盟,肩负起了 HTML 标准化的使命,并在 HTML 4.0 之外创造出 STYLES(样式)。所有的主流浏览器均支持层叠样式表。样式表极大地提高了工作效率

3、样式表定义如何显示 HTML 元素,诸如 HTML 3.2 的样式中的字体标签和颜色属性通常被保存在外部的 .css 文件中。通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面布局的外观。

4、由于允许同时控制多重页面的样式和布局,CSS 可以称得上 WEB 设计领域的一个突破。作为网站开发者,你可以为每个 HTML 元素定义样式,并将之应用于你希望的任意多的页面中。如需进行全局变换,只需简单地改变样式,然后网站中的所有元素均会被自动地更新。

5、多重样式将层叠为一个 样式表允许以多种方式规定样式信息。样式可以被规定于单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在一个单一的 HTML 文档内部引用多个外部样式表。

6、层叠次序,当同一个HTML元素被不止一个样式所定义时,会使用哪个样式呢,一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。浏览器缺省设置外部样式表内部样式表(位于 <head>标签内部)内联样式(在 HTML 元素内部)因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head>标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。 小玉玉10-11 17:15优质作者 关注 为你推荐pdf如何转换成word 换成word的步骤 什么的神州组词 神州介绍 特种兵的电视剧有哪些 每部都是经典 美是理念的感性显现这么理解 美是理念的感性显现是什么意思 碧绿碧绿类似的词语 abab式的词语大全王子变青蛙插曲 插曲有哪些 吃什么能瘦脸 给大家推荐这三种 太阳能热水器清洗方法 清洗热水器方法 羽毛球赛制 羽毛球赛制简述 银行卡挂失怎么做 操作步骤什么是顺时针 给大家介绍一下 污水处理流程 污水处理流程简述 探险家出装 探险家出装推荐 淘宝开店教程 怎么开店 出纳的职责 出纳的职责介绍电车之狼怎么玩 如何玩电车之狼 电脑的配置怎么查看 查看电脑配置的方法 南京两日游攻略 南京两日游地点选择 两小儿辩日停顿方法 怎么停顿才正确 清明节祭祀注意事项是什么 清明节祭祀禁忌桌面不显示怎么办 桌面不显示解决办法 钢琴入门教程 钢琴入门教程介绍 五子棋教程 五子棋怎么玩 女孩子最想要什么 大家来说说吧 什么是量词 量词专业解释关于大熊猫的资料 大熊猫的资料 大学活动策划怎么写 大学活动策划基本写法 移动硬盘不显示怎么办 要怎么设置 limbo攻略 怎么过limbo 怎样美白皮肤 美白皮肤的方法新手开网店方法 新手怎样开网店 搜索引擎的工作原理 搜索引擎的工作原理简述 初中英语教学反思怎么写 初中英语教学反思示例 小说人物名字怎么取 小说人物取名字方法 我的世界铁砧是什么 来这里了解下详情什么的微笑 列举什么的微笑及释义 beg的过去式 大家可以学习一下 二年级清明节怎么画 清明节怎么表达 安陵容怎么死的 安陵容死因简述 支付宝怎么开通 开通的办法制作gif的方法 如何制作gif lol怎么截图 LOL是什么游戏 科技公司起名方法 科技公司怎么起名 新年适合发朋友圈的句子 适合新年发朋友圈的句子 行李箱密码怎么设置 设置的办法仙剑奇侠传二攻略 如何轻松过关 空气能采暖吗 她是怎么发展起来的 女宝宝名字怎么取 这几个名字都可借鉴 取消开机密码怎么设置 如何取消电脑开机密码 我的世界红石自动门怎么做 我的世界红石自动门制作攻略