如何用CSS3创建一个开关

html-css023

如何用CSS3创建一个开关,第1张

我使用SVG、Canvas、CSS3或者背景图片实现五角星图案及其悬停效

CSS3引入伪元素变换特性使实现五角星图形非简单并且结合渐变实现更漂亮效

使用图片实现五角星已经毫必要(图片占用额外请求且数据量除非要支持低版本桌面IE浏览器)

首先我创建三角形通使用带尺寸边线零内容尺寸元素实现代码示范:

.tri { width: 0height: 0border-left: 15px solid transparentborder-right: 15px solid transparentborder-bottom: 30px solid red}

第二步我使用伪元素:after:before克隆2同三角形

.tri:after,.tri:before { width: 0height: 0border-left: 15px solid transparentborder-right: 15px solid transparentborder-bottom: 30px solid red}

我述2伪元素别应用同旋转变换:

.tri:before { transform: rotate(70deg)}.tri:after { transform: rotate(-70deg)}

我实现五角星图形(图标)我用类似实现更几何形状

虽然不是非常明白你的意思,但是我想你应该是需要整个页面都显示关灯效果,一般只需要另外加一个浮动层,宽高度都是100%,然后z-index比你要突出显示的部分的值小,但是大于其他页面上要隐藏的元素

声明楼上的答复基本上是对的

但是,还是告诉你css3可以达成“处理click事件”类似的效果,比如checkbox,click后就能利用UI元素状态伪类来实现相应的变化,这种变化有点类似处理click事件,只是小范围的应用。

比如纯css3实现的checkbox按钮开关,你可以到mxria网站上看CSS3按钮开关的实现DEMO

css3在响应用户操作上很弱,基本上还是实现静态样式为主