CSS伪元素before、after妙用:制作时尚焦点图相框

在css选择器中有这样子的写法div:before、div:after,对于before、after来说有部分人是相当陌生的,那么这两个标签是什么呢?有什么用处?

:befor、:after是CSS的伪元素,什么是伪元素呢?伪元素用于向某些选择器设置特殊效果。

我们用CSS手册可以查询到其基本的用法:

  • E:before/E::before 设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
  • E:after/E::after 设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
  • Ie6-7 不支持

既然说到了before、after,那么我们也要大概的了解下content,content用来和:after及:before伪元素一起使用,在对象前或后显示内容。基本的用法如下:

1
div:after{content:"任意字符串";}

现在我们大概知道before和after的大概用法了,那么我们就可以在元素的内容之前或者之后插入新内容。而插入的内容我们也可以用css样式 来加以控制和美化。也许在平常中这样子的标签用处不大,但是存在即是真理,哈哈,肯定有他的妙用之处,今天就来看看利用before和after制作的一 个的时尚焦点图相框,以后制作这种边框线的时候我们可以完全抛弃图片的做法,而且做出来的非常的精美。不信,就请先看看效果demo吧:

查看预览

制作思路以及方法:

  1. 在图片层加多一层div,设置1像素的边框线,边框线有上下左右四条边框,而我们想要的只是每两条边框线组成的类似小三角形的形状,那么我们只要把四条边 框线的中间部分去掉,那不就实现了我们的效果。那我们应该怎么把四条边框线中间部分去掉?或者用什么东西把他盖住,不让他显示出来?解决办法就是,我们知 道before和after伪元素可以在元素之前或者之后添加新的内容,那我们就利用这两个伪元素来盖住四条边框线的中间部分。
  2. 我们先去掉左右两边的边框线,在边框层,利用before伪元素,使用css样式的定位,设置白色边框,为什么要白色的边框呢?因为要把之前的左右边框中间部分遮掉,颜色设置成和背景色(本例的背景为白色背景)一致,这样子看起来就相当于中间部分被裁剪掉了。
  3. 我们继续祈祷上线两条边框线,方法同上,利用after伪元素,使用css样式的定位,设置为白色边框,遮掉上下边框线的中间部分。这样子一来,基本的形状就出现了
  4. 美化步骤,调整我们的细节,边框线调整为虚线。


了解了基本的思路和方法,是不是很简单呢?那我们就开始动手写代码吧。

HTML代码:

1
2
3
4
5
6
7
8
9
10
11
12
<div>
<ul>
  <li><a
							href="http://www.jiawin.com"
							target="_blank"><img
							src="jiawin_1.jpg"
							alt="CSS伪元素before、after妙用:制作时尚焦点图相框"
							/>
  <p></p></a></li>
  <li><a
							href="http://www.jiawin.com"
							target="_blank"><img
							src="jiawin_2.jpg"
							alt="CSS伪元素before、after妙用:制作时尚焦点图相框"
							/>
  <p></p></a></li>
  <li><a
							href="http://www.jiawin.com"
							target="_blank"><img
							src="jiawin_3.jpg"
							alt="CSS伪元素before、after妙用:制作时尚焦点图相框"
							/>
  <p></p></a></li>
  <li
							id="noborder"><a
							href="http://www.jiawin.com"
							target="_blank"><img
							src="jiawin_4.jpg"
							alt="CSS伪元素before、after妙用:制作时尚焦点图相框"
							/>
  <p></p></a></li>
</ul>
</div>

CSS样式代码

1
2
3
4
5
6
7
.content
						{width:788px;
						margin:auto;
						height:auto;
						overflow:hidden;
						padding:30px;
						}
.content ul li {float:left;
						height:176px;
						border-right:1px
						solid
						#DDDDDD;
						position:relative;
						padding:10px;}
.focus
						{background:rgba(250,250,250,0.25);
						width:174px;
						height:174px;
						border:1px
						dashed
						#666;
						position:absolute;
						left:10px;
						top:10px;
						display:none;}
.focus:before {width:174px;
						height:134px;
						border-left:1px
						solid
						#fff;
						border-right:1px
						solid
						#fff;
						content:"";
						position:absolute;
						left:-1px;
						top:20px;}
.focus:after {width:134px;
						height:174px;
						border-top:1px
						solid
						#fff;
						border-bottom:1px
						solid
						#fff;
						content:"";
						position:absolute;
						top:-1px;
						left:20px;}
.content ul li:hover .focus
						{display:block;}
#noborder
						{border-right:0
						none;}

通过这个例子是不是很方便的把这个效果做出来了呢?而且看看我们的代码,是不是很简洁呢!哈哈……或许还有更好的方法来实现,我们可以一起探讨。我 个人感觉其实div+css是很好的一门很容易手上但是功能性很强的技术,而且他很好玩很有趣。利用你的奇思妙想, 你可以做出各种意想不到的效果。期待你的作品哦。

查看预览

来源:觉唯前端 》CSS伪元素before、after妙用:制作时尚焦点图相框

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索元素
, 边框
, content
, 部分
, before
after
,以便于您获取更多的相关知识。

时间: 2024-08-03 14:35:45

CSS伪元素before、after妙用:制作时尚焦点图相框的相关文章

CSS伪元素before和after制作时尚焦点图相框

文章简介:CSS伪元素before.after妙用:制作时尚焦点图相框 在css标签中有这样子的标签div:before.div:after,对于before.after来说有部分人是相当陌生的,那么这两个标签是什么呢?有什么用处?:befor.:after是CSS的伪元素,什么是伪元素呢?伪元素用于向某些选择器设置特殊效果.我们用CSS手册可以查询到其基本的用法: E:before/E::before 设置在对象前(依据对象树的逻辑结构)发生的内容.用来和content属性一起使用 E:aft

学习网页技术CSS高级教程之CSS 伪元素

css|高级|教程|网页 CSS 伪元素被用来将特殊的效果添加到某些选择器. CSS 伪元素 (Pseudo-elements)实例: 制作首字母特效 本例演示如何向文本的首字母添加特效. <html><head><style type="text/css">p:first-letter {color: #ff0000;font-size:xx-large}</style></head><body><p>

使用CSS伪元素实现文字部分变色的方法

    思路 思路很简单,就是一个字写两遍,一个字只显示部分,不过不能真的把一个字写两遍.这里就需要用到CSS伪元素:before和:after,记住这个"伪元素"的"伪"字,表明它本来是不存在的.我们的方法就是在伪元素里放置相同的字符,只显示半个,而原字符显示另外一半,最后把它们拼成一个字. CSS Code CSS Code复制内容到剪贴板 .hf { display: inline-block; font-size: 80px; line-height:80p

js如何控制css伪元素内容(before,after)

原文:js如何控制css伪元素内容(before,after) js如何控制css伪元素(before,after) @(CSS 笔记)[伪元素|css3]曾经遇到的问题,在对抗UC浏览器屏蔽需要把内容输出到css 伪元素中输出.有个疑问如何用js控制它.于是在segmentfault提问,如下是对问题的整理: 如何用js控制css伪类after 简单粗暴的方式: 简单粗暴的方式,直接在html中添加样式覆盖掉之前样式规则 <style> p:after{content:'我是后缀'} <

Javascript获取CSS伪元素属性的实现代码_javascript技巧

CSS伪元素非常强大,它经常被用来创建CSS三角形提示,使用CSS伪元素可以实现一些简单的效果但又不需要增加额外的HTML标签.有一点就是Javascript无法获取到这些CSS属性值,但现在有一种方法可以获取到: 看看下面的CSS代码: .element:before { content: 'NEW'; color: rgb(255, 0, 0); }.element:before { content: 'NEW'; color: rgb(255, 0, 0); } 为了获取到.element

Javascript获取CSS伪元素的属性

CSS伪元素非常强大,它经常被用来创建CSS三角形提示,使用CSS伪元素可以实现一些简单的效果但又不需要增加额外的HTML标签.有一点就是Javascript无法获取到这些CSS属性值,但现在有一种方法可以获取到: 看看下面的CSS代码: copytext  代码如下 复制代码 .element:before {     content: 'NEW';     color: rgb(255, 0, 0); }.element:before {  content: 'NEW';  color: r

Dreamweaver中的CSS伪元素应用

 下面就展示三个例子:  1.利用 :before 和 :after 添加背景,比如给一段文字前后打引号:  2.利用 :before, :after, box-shadow 实现3D阴影效果;  利用 :before, :after, box-shadow 实现照片叠加效果.   复制代码代码如下: <!DOCTYPE html>  <html lang="zh-cn">  <head>  <title>Pseudo Demo</

CSS的伪元素:标签div:before、div:after

文章简介:CSS伪元素before.after妙用:制作时尚焦点图相框 在css标签中有这样子的标签div:before.div:after,对于before.after来说有部分人是相当陌生的,那么这两个标签是什么呢?有什么用处?:befor.:after是CSS的伪元素,什么是伪元素呢?伪元素用于向某些选择器设置特殊效果.我们用CSS手册可以查询到其基本的用法: E:before/E::before 设置在对象前(依据对象树的逻辑结构)发生的内容.用来和content属性一起使用 E:aft

【CSS进阶】伪元素的妙用2 - 多列均匀布局及title属性效果

最近无论是工作还是自我学习提升都很忙,面对长篇大论的博文总是心有余而力不足,但又不断的接触学习到零碎的但是很有意义的知识点,很想分享给大家,所以本篇可能会很短. 本篇接我另一篇讲述 CSS 伪元素的文章: [CSS进阶]伪元素的妙用–单标签之美,看完本文觉得有意思的可以再去看看上一篇,分享了一些伪元素的妙用. 正文从这里开始:   哪些标签不支持伪元素? 我也是才知道这个姿势.为了不误导读者,就赶紧补充一下. 伪元素虽然强大,但是还是有一些特定的标签是不支持伪元素 before 和 after