css2.1实现多重背景和边框效果(4)
作者:linxz 来源:小志博客 发布时间:2010-06-23 19:02:00
使用CSS2.1的多重背景效果成品。
示例代码:多边框
多边框的处理方式有很多相类似之处。利用这些方式可以避免使用图片而产生简单的效果。
元素必须具有相对定位属性,并且在需要有填充产生足够的宽度给由伪元素创建的额外的边框。
Copy to clipboard]View Code CSS1
#borders {
position:relative;
z-index:1;
padding:30px;
border:5px solid #f00;
background:#ff9600;
}
将伪元素绝对定位在盒子中,并明确与元素盒模型边距之间的距离,设置z-index值为负值后移动到内容层的后面,同时设置你所需要的边框色和背景色。
Copy to clipboard]View Code CSS1
#borders:before {
content:"";
position:absolute;
z-index:-1;
top:5px;
left:5px;
right:5px;
bottom:5px;
border:5px solid #ffea00;
background:#4aa929;
}
Copy to clipboard]View Code CSS1
#borders:after {
content:"";
position:absolute;
z-index:-1;
top:15px;
left:15px;
right:15px;
bottom:15px;
border:5px solid #00b4ff;
background:#fff;
}
就是这么简单。一个使用CSS2.1的多边框效果成品就有了。
渐进增强和传统浏览器
IE6和IE7不支持CSS2.1伪元素,将会忽略所有:before和:after声明。它们没有任何增强,但保留着基本的使用习惯。
关于Firefox 3.0的一个警告
Firefox 3.0虽然支持CSS2.1伪元素但不支持其定位。虽然没有支持这部分的效果,但另一些完全不受影响,并且不知道后续的Firefox 3.0版本将会什么时候优化成完美支持这种技术。有时,可以通过定义display:block样式属性可以改进伪元素的外观样式。
使用目前的方式,要求其定位伪元素,建议考虑Firefox 3.0支持的重要性和您的用户目前使用的浏览器比例。
翻译之外的东西,一点点个人看法
这篇文章我不知道是什么时候有的,不过原文后面是对CSS3的属性一些内容,我抛弃了,因为当时看到这篇文章主要是冲着使用CSS2.1的伪对象方式实现效果而去的。当我看到文章中提到用伪对象实现三列等高的时候,我表示十分惊讶,大概分析了一下这样的等高处理方式也存在着一点点小问题,比如背景图片定位(不支持伪对象的浏览器不考虑在内了)。顺带说一下,曾经考虑过在伪对象的content属性中增加图片,但一直以为是不可能实现的,就没尝试了,现在看到了,我也明白了,凡事只有尝试过后才能去确认!
原文:http://blog.linxz.cn/multiple_backgrounds_and_borders_with_css2/


猜你喜欢
- 水晶报表分页汇总 建三个公式字段,第一个(公式1)输入下面的公式: whileprintingrecords; global numberv
- 在IE7还不支持counter 和increment 属性之前,我从来没有用过它们,也从来没有使用过:before 伪元素和content
- 前言场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。和用户有交互的系统必不可少的功能包括收
- 说明:Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片
- python实现MD5加密1、简介Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛
- 一、需求说明当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构:data = [{'name':'小
- 1.auto close tagHTML自动补全标签2.beautiful UI32个主题集合,具体使用看个人喜好。3.better com
- 安装golang使用homebrew安装golang。homebrew是MacOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索
- 尽管asyncio库是使用单线程来实现协程的,但是它还是并发的,乱序执行的。可以说是单线程的调度系统,并且由于执行时有延时或者I/O中断等因
- Windows环境下python的安装与使用一、python如何运行程序首先说一下python解释器,它是一种让其他程序运行起来的程序。当你
- 本文实例讲述了python实现去除下载电影和电视剧文件名中的多余字符的方法,是一个非常实用的技巧,分享给大家供大家参考。具体如下:有时候我们
- 在 jupyter notebook参数化运行python 时,怕输出太多文件太大,想及时清除 notebook 的输出。在别人代码里看到用
- 目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动
- 一、正则表达式的特殊字符介绍正则表达式^ 匹配行首 &nb
- 一,前言今天做的东西,还算可以,修改了若干个bug,自己又写成功的写了几个bug。增加了一个功能——
- 函数的return 语句只能返回一个值,可以是任何类型。因此,我们可以“返回一个 tuple类型,来间接达到返回多个值 ”。例:
- 如下所示:file->settings->Editor->General->Console里面的console co
- 背景最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两
- 在js方法中添加"path= 过期时间"就可以解决这个问题。 例如://写cookies function setCoo
- 匹配括号接下来,我们使用栈解决实际的计算机科学问题。比如我们都写过这样所示的算术表达式, ( 5 + 6 ) ∗ (