<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS定义变量</title> <style type="text/css"> :root { --color-my-red:#fa5151; --color-my-green:#07c160; --color-my-blue:#10aeff; --size-500px:500px; } .demo { clear: both; width: var(--size-500px); height: var(--size-500px); border: 25px solid var(--color-my-red); background: var(--color-my-green); color: var(--color-my-blue); text-align: center; font-weight: bolder; font-size: 32px; line-height: 15.63; } .demo, .explain { margin: 50px 0 0 50px; line-height: 2; } </style> </head> <body> <div class="demo">红边框+绿背景+蓝文字</div> <div class="explain"> <div>声明语法:【--变量名:变量值;】,示例:【--color-my-red:#fa5151;】,必须以两个中横线开头,相当于PHP变量的$符号。</div> <div>调用语法:【var(--变量名)】,示例:【border: 25px solid var(--color-my-red);】。</div> <div>变量值可以是十六进制颜色码,也可以是尺寸单位(px、%、rem等等)或其它样式数值,在开发时使用变量来代替样式数值可以保持整站色调和细节的统一,也可以实现快速切换色调。</div> <div>既然是变量就可以改变其值,如在:root{--color-my-red:#fa5151;}定义了--color-my-red变量,可以在html[data-theme="theme-1"]{--color-my-red:#dd5044;}改变值,利用这种特性可以通过改变data-theme属性实现无刷新即时切换网站主色调。</div> </div> </body> </html>
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS变量应用</title> <style type="text/css"> :root { --font-color:#00f; } html[data-theme=theme-demo] { --font-color:red; } span { color: var(--font-color); font-weight: 700; font-size: 36px; } </style> </head> <body> <span>俺是测试文本!</span><br> <br> <button type="button" onClick="changeColor();">点俺试试</button> <script type="text/javascript"> function changeColor() { var html = document.getElementsByTagName('html')[0]; if (html.getAttribute('data-theme')) { html.removeAttribute('data-theme'); } else { html.setAttribute('data-theme', 'theme-demo'); } } </script> </body> </html>
Copyright © 2024 码农人生. All Rights Reserved