当前位置: 首页 > news >正文

jdbc做购物网站trinseo公司

jdbc做购物网站,trinseo公司,网页设计与网站建设在线第二章,飞虹网架建设官方网站动态link标签加载不同主题css **原理:**提前准备好几套CSS主题样式文件,在点击切换主题时,创建link标签动态加载到head标签中,或者是动态改变link标签的href属性。 缺点: 动态加载样式文件,如果文件过大网…

动态link标签加载不同主题css

**原理:**提前准备好几套CSS主题样式文件,在点击切换主题时,创建link标签动态加载到head标签中,或者是动态改变link标签的href属性。
缺点:
动态加载样式文件,如果文件过大网络情况不佳的情况下可能会有加载延迟,导致样式切换不流畅
维护不便!

**优点:**实现了按需加载,提高了首屏加载时的性能且兼容性好

  1. 先创建主题css文件dark.csslight.css
  2. html中link引入
<head><link rel="stylesheet" href="./css/dark.css" ><link rel="stylesheet" href="./css/light.css" disable>
</head>
  1. 切换主题
const themesCssSheet = [document.querySelector("link[data-theme='light']"),document.querySelector("link[data-theme='dark']"),
]
btn.addEventlistner("click",()=>{const dataTheme = btn.getAttribute("data-theme")themesCssSheet.forEach(theme=>{t.disable = theme.dataset.theme === dataTheme })
})

提前引入不同主题的css样式,通过切换类名切换主题

  1. 定义好css样式
/* light样式主题 */
body{color: #f90;background: #fff;--text-color:black--header-bg:orange
}
/* dark样式主题 */
.dark {color: #eee;background: #333;--text-color:#fff--header-bg:blue
}
  1. 点击切换主题时 js切换
document.body.classList.toggle("dark")

css预编译器

$themes:(light:(textColor:blackheaderBg:orange),dark:(textColor:#fffheaderBg:blue)
)
$currentTheme:light;
@mixin changeTheme(){@each $key,$value in $themes{$currentTheme:$key !global;html[data-theme='#{$key}'] & {@content;}}
}@function getTextColor(){$currentThemeObj: map-get($themes,$curTheme);@return map-get($currentThemeObj,"textColor");
}
@function getHeaderBg(){$currentThemeObj: map-get($themes,$curTheme);@return map-get($currentThemeObj,"headerBg");
}@function getThemeValue($key){$currentThemeObj: map-get($themes,$curTheme);@return map-get($currentThemeObj,$key);
}
.content{width:100%;height:100%;@changeTheme{textColor:getTextColor();headerBg:getHeaderBg();}
}

基于CSS变量(最优方式)

原理:根据html元素标签的属性切换所使用的主题变量。
缺点:IE兼容性不行(基本可以忽略)。
优点:便于维护,基本无需css参与

  1. 定义两套(多主体多套)变量
:root{--text-color:black--header-bg:orange...
}
// 暗色主题
html[data-theme='dark']{--text-color:#fff--header-bg:blue...
}
  1. 在main.js项目入口文件导入该变量,便于组件使用
  2. 组件中主题相关的直接使用变量
  3. 主题切换时
type Theme = "dark" | "light"
export const changeTheme = (theme:Theme )=>{document.documentElement.dataset.theme = theme
}

CSS变量+动态setProperty

  1. 定义变量
:root{--text-color:black--header-bg:orange...
}
  1. 定义js更改属性值方法
export const setCssVar = (prop: string, val: any, dom = document.documentElement) => {dom.style.setProperty(prop, val)
}
// 当样式改变
setCssVar('--text-color', color)

总结

还有其他方式(例如vue3 v-bind css,变量和类名结合),但是总体都大同小异。

http://www.zhongyajixie.com/news/34639.html

相关文章:

  • 如何有效的推广网站武汉seo全网营销
  • 人才网网站方案国外b站不收费免费2023
  • 东莞做网站 9353济南seo怎么优化
  • 观澜网站建设平面设计培训
  • 保温管有哪些网站做百度登陆
  • 深圳网站建设怎样容易线上销售如何找到精准客户
  • 深圳松岗网站建设目前推广软件
  • 深汕特别合作区房价网站页面优化方案
  • 做网站需要买网址吗网站怎么快速收录
  • 哪个网站做3d模型天津抖音seo
  • 西安企业网站建设哪家好营销网站都有哪些
  • 海川建设公司网站北京网络seo经理
  • 携程: 2023年旅行搜索上涨超900%seo网络推广员招聘
  • 怎么删除ghost wordpress深圳seo优化电话
  • 网易企业邮箱登录参数错误windows优化大师的作用
  • 合肥企业网站建设公司it培训机构哪家好
  • 南京做网站建设的公司武汉seo搜索优化
  • 南京房产网站建设排行榜网站
  • 中小企业怎么优化网站百度关键词竞价排名
  • 搜狗搜索引擎入口window优化大师
  • 网站放到服务器论坛企业推广
  • 在网站上部署淘宝联盟推广代码的推广模式.十大最靠谱培训机构
  • 宁波网站建设价格合理seo诊断书
  • 怎么做网站推武汉建站公司
  • 太原网站运营优化查询百度关键词排名
  • 省政府领导班子网站排名优化软件哪家好
  • 做测试功能的网站 需要备案吗网络文章发布平台
  • WordPress适合做多大级别的网站网页设计制作网站教程
  • 给千图网等网站做设计赚钱吗搜索引擎排名优化方法
  • 有没有专业做二手老车的网站优化设计答案五年级下册