核心内容摘要
91pron下载
CSSä¼ªå…ƒç´ é€‰æ‹©å™¨::beforeä¸�::after深度解æ��在CSSçš„æ ·å¼�体系ä¸ä¼ªå…ƒç´ 选择器如::beforeå’Œ::after是æ�„建å¤�æ�‚视觉效æ�œçš„æ ¸å¿ƒå·¥å…·ã€‚它们通过虚拟æ�’入内容的方å¼�在ä¸�修改HTML结æ�„çš„å‰�æ��下å®�ç�°è£…é¥°æ€§å…ƒç´ ã€�图形效æ�œå’Œäº¤äº’å¢�强。本文将ä»�è¯æ³•规范ã€�æ ¸å¿ƒç‰¹æ€§ã€�应用场景å�Šæ€§èƒ½ä¼˜åŒ–四个维度展开深度解æ��。一ã€�è¯æ³•规范ä¸�å�†å�²æ¼”è¿›
1 å�Œå†’å�·è¯æ³•CSS3æ ‡å‡†CSS3规范æ˜�确区分伪类å�•冒å�·:ä¸�ä¼ªå…ƒç´ å�Œå†’å�·::例如/* ä¼ªç±»é€‰æ‹©å…ƒç´ çŠ¶æ€� */a:hover{color:red;}/* ä¼ªå…ƒç´ åˆ›å»ºè™šæ‹Ÿå†…å®¹ */p::before{content:→;}å�Œå†’å�·è¯æ³•::before/::after是ç�°ä»£æ ‡å‡†å†™æ³•旨在æ��å�‡ä»£ç �å�¯è¯»æ€§ã€‚但为兼容旧版æµ�览器å�•冒å�·å†™æ³•:before/:afterä»�被广泛支æŒ�。
2 �览器兼容性�代�览器Chrome 4�Firefox
5ã€�Safari 4ã€�Edge 12ã€�Opera 10å�‡æ”¯æŒ�å�Œå†’å�·è¯æ³•。旧版IEIE8仅支æŒ�å�•冒å�·è¯æ³•且功能有é™�如ä¸�支æŒ�url()内容。移动端iOS Safariå’ŒAndroid Chromeå¯¹ä¼ªå…ƒç´ çš„æ”¯æŒ�良好但需注æ„�部分旧版本å�¯èƒ½å˜åœ¨æ¸²æŸ“差异。二ã€�æ ¸å¿ƒç‰¹æ€§ä¸�行为机制
1 虚拟内容生æˆ�æœºåˆ¶ä¼ªå…ƒç´ é€šè¿‡contentå±�性生æˆ�虚拟内容其本质是æµ�览器渲染引æ“�创建的匿å��ç›’å�anonymous box而é��真å®�DOM节点。关键行为包括ä¸�å�¯æ“�ä½œæ€§æ— æ³•é€šè¿‡JavaScriptç›´æ�¥æ“�作如document.querySelector(::before)会返å›�null。é��è¯ä¹‰åŒ–å±�å¹•é˜…è¯»å™¨é€šå¸¸å¿½ç•¥ä¼ªå…ƒç´ å†…å®¹å› æ¤ä¸�适å�ˆæ‰¿è½½å…³é”®ä¿¡æ�¯ã€‚é»˜è®¤æ ·å¼�åˆ�始为display: inline需通过CSS显å¼�修改布局å±�性如blockã€�inline-block。
2contentå±�性详解contentæ˜¯ä¼ªå…ƒç´ çš„â€œå¼€å…³â€�必须设置且支æŒ�多ç§�值类å�‹/*
å—符串 */.external-link::after{content:;}/*
�性值动��� */a::after{content: (attr(href));}/*
计数器自动编� */ol.custom{counter-reset:item;}li.custom::before{content:counter(item). ;counter-increment:item;}/*
图åƒ�需é…�å�ˆbackground-image优化 */.avatar::after{content:;display:inline-block;width:50px;height:50px;background:url(avatar.png)center/cover;}注æ„�事项直æ�¥ä½¿ç”¨url()æ�’入图åƒ�æ—¶æ— æ³•é€šè¿‡CSSæ�§åˆ¶å°ºå¯¸éœ€æ”¹ç”¨background-image方案。空内容content: 常用äº�åˆ›å»ºçº¯è£…é¥°æ€§å…ƒç´ å¦‚æ¸…é™¤æµ®åŠ¨ã€�背景色å�—。
3 定ä½�ä¸�层å� æ�§åˆ¶ä¼ªå…ƒç´ 支æŒ�ç»�对定ä½�å’Œz-indexå�¯å®�ç�°å¤�æ�‚交互效æ�œ.tooltip{position:relative;}.tooltip::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#333;color:white;padding:5px;border-radius:3px;opacity:0;transition:opacity
3s;}.tooltip:hover::after{opacity:1;}三�典�应用场景
1 è£…é¥°æ€§å…ƒç´ å¢�å¼ºå›¾æ ‡æ·»åŠ .download-btn::after{content:↓;margin-left:5px;}引å�·åŒ…裹blockquote{quotes:“â€�;}blockquote::before{content:open-quote;}blockquote::after{content:close-quote;}
2 图形�布局�建三角形指示器.arrow::after{content:;display:inline-block;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #000;}�色背景.card{position:relative;background:linear-gradient(to right,#ff9a9e,#fad0c
;}.card::after{content:;position:absolute;top:0;right:0;width:40%;height:100%;background:rgba(255,255,255,
0.
;}
3 清除浮动��方案.clearfix::after{content:;display:table;clear:both;}�代替代方案��使用display: flow-root或Flexbox/Grid布局。
4 动画�交互效�悬�光效.button::before{content:;position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,
0.