CSS 中的 ::before 和 ::after 伪元素
CSS ::before 和 CSS ::after 伪元素用于在元素前后分别插入一些内容。
::after 伪元素
如果你想在元素后插入内容,则使用 ::after 伪元素。使用内容属性设置要放置在后面的内容 -
p::after { content: " is Virat Kohli"; background-color: red; font-weight: bold; }
范例
让我们看一个例子 -
<!DOCTYPE html> <html> <head> <style> p { background-color: blue; color: white; } p::after { content: " is Virat Kohli"; background-color: red; font-weight: bold; } </style> </head> <body> <h1>Cricket is love</h1> <p>Favourite Cricketer</p> <p>Favourite Batsman</p> </body> </html>
::before 伪元素
如果你想在元素前插入内容,则使用 ::before 伪元素。使用内容属性设置要放置在后面的内容 -
p::before { content: "Virat Kohli:"; background-color: red; font-weight: bold; }
范例
让我们看一个例子 -
<!DOCTYPE html> <html> <head> <style> p { background-color: blue; color: white; } p::before { content: "Virat Kohli:"; background-color: red; font-weight: bold; } </style> </head> <body> <h1>Cricket is love</h1> <p>Favourite Cricketer</p> <p>Favourite Batsman</p> </body> </html>
范例
让我们看一个 CSS ::before 和 CSS ::after 伪元素的示例 -
<!DOCTYPE html> <html> <head> <style> div:nth-of-type(1) p:nth-child(2)::after { content: " BUZZINGA!"; background: orange; padding: 5px; } div:nth-of-type(2) p:nth-child(2)::before { content: "Harry:"; background-color: lightblue; font-weight: bold; padding: 5px; } </style> </head> <body> <div> <p>Nobody: </p> <p>Sheldon Cooper:</p> </div><hr> <div> <p><q>Death Eaters arrive</q></p> <p><q>Expecto Patronum!</q></p> </div> </body> </html>
范例
让我们看另一个 CSS ::before 和 CSS ::after 伪元素的示例 -
<!DOCTYPE html> <html> <head> <title>Center Alignment using CSS Margin</title> <style> #yinyangSymbol { width: 100px; height: 50px; background: #fff; border-color: #000; border-style: solid; border-width: 2px 2px 50px 2px; border-radius: 100%; position: relative; } #yinyangSymbol::before { content: ""; position: absolute; top: 50%; left: 0; background: #fff; border: 18px solid #000; border-radius: 100%; width: 14px; height: 14px; } #yinyangSymbol::after { content: ""; position: absolute; top: 50%; left: 50%; background: #000; border: 18px solid #fff; border-radius:100%; width: 14px; height: 14px; } div{ width: 50%; margin: 10px auto; border:4px solid black; } #text { border: 4px solid black; background-color: grey; color: white; text-align: center; } </style> </head> <body> <div id="main"> <div> <div id="yinyangSymbol"></div> </div> <div id="text">Be Centered & Balanced</div> </div> </body> </html>
广告