如何用 CSS + JavaScript 实现网站风格切换

如题所述

样式与数据分离所带来的不只是符合标准这样的简单,样式既然与数据分离那么样式的切换则变得理所当然的了!但是网上这样的中文教程实在是太少了!所以我收集了一部分中外网站已经实现的技术资料整理出来供网友参考。

首先要具备不同内容的CSS文件(最好每个文件代表一种样式,或是代表需要作出变动的部分)。这里以三个为例:

第一个是背景为红色的CSS文件(red.css)CSS中的内容为:

body {background-color:red;}

第二个是背景为绿色的CSS文件(green.css)CSS中的内容为:
body {background-color:green;}

第三个是背景为黄色的CSS文件(yellow.css)CSS中的内容为:
body {background-color:yellow;}

然后在xthml文件中加入这三个CSS的链接

<link rel="alternate stylesheet" href="red.css" type="text/css" title="red" media="screen, projection"/>
<link rel="stylesheet" href="green.css" type="text/css" title="green" media="screen, projection"/>
<link rel="alternate stylesheet" href="yellow.css" type="text/css" title="yellow" media="screen, projection"/>

这三个中除了title不一样外还有一个地方有所不同,那就是REL。第一个与第三个都是alternate stylesheet只有第二个是stylesheet。这第二个就是当然样式。

在链接下面再导入一个JS文件,用来控制这个样式切换

function setActiveStyleSheet(title) {
var i, a, main;
if (title) {
for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) {
a.disabled = true;
if(a.getAttribute('title') == title) a.disabled = false;
}
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled) return a.getAttribute('title');
}
return null;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-04-10

活动作品如何在一个网页实现登录_注册表单切换?14分钟带你使用CSS+JS实现炫酷滑动切换效果

JavaScript是如何改变网页的CSS样式的?
1、JavaScript设置内联样式 改变样式最直接的方法就是改变元素节点的style属性。如:myElement.sytle.color = “red”;myElement.sytle.left = “40px”;myElement.sytle.backgroundRepeat = “repeat-x”;JavaScript设置内联样式时,采用和css设置样式一样的风格。如设置myElement的color属性时,我们可...

深入探索前端页面主题切换的多种实现方法:从CSS变量到组件库应用_百度...
使用CSS预处理器(如Sass、Less),提供变量和混入功能,便于实现主题切换。例如,通过定义变量、创建主题混入、应用主题,并使用JavaScript切换主题类名。组件库如Ant Design和Element Plus提供内置主题定制功能,通过修改Less或Sass变量实现。例如,在配置文件中调整变量值以定制主题。在Vue和React中实现主题切...

用CSS实现页面风格的转换问题???
一个HTML档案只能有一个body,js代码的作用是利用dom对象来获取style关键字从而达到更换css效果的结果。至于实现方法,那个页面很明确的给出了,你要做的就是在head中定义那个setstyle或者是你自己的setActiveStyleSheet函数。

javascript 改变指定css样式
通过改变外链样式的的href的值实现网页样式的实时切换,也就是"改变模板风格"。首先需要赋予需要改变的目标一个id,如 代码如下: 调用时很简单,如 代码如下:点我改变样式

想用JavaScript实现DIV样式切换
(1)移除和添加样式分别是$("mydiv").removeClass("css1") 和$("mydiv").addClass("css1")(2)如果是换了样式之后,想换回原来的样式,即是切换样式,那么就涉及到一个判断当前样式的问题,此时可以使用方法hasClass(),该方法是判断元素当前是否含有某样式。(3)所以根据1、2可以实现一个点击...

建站知识:如何使用JS来自由切换css样式表
详细方法如下:第一步:在连接样式表的元素里定义一个id,例如我定义的id是css。第二步:写一个js函数,代码如下:function change(a){var css=document.getElementById("css");if (a==1)css.setAttribute("href","1.css");if (a==2)css.setAttribute("href","2.css");}这个...

css样式如何使用css样式怎么用
在HTML中插入CSS的方法主要有三种,它们分别是内联样式、内部样式、链接式和外部样式。 1.内联样式内联样式是在标记的style属性中设定CSS样式。如下面的例子将h1的内容标记为黑底白字。 2.内部样式表内部样式是将CSS样式集中写在网页的head>\/head>标签对的style>\/style>标签对中。如对本网页所有的h1标记都设置为黑...

HTML5期末大作业:基于HTML+CSS+JavaScript仿蘑菇街购物商城设计毕业论 ...
页面样式风格统一,布局显示正常,菜单美观醒目,二级菜单可正常弹出与跳转。网页内融入JS特效,如定时切换和手动切换图片新闻。多媒体元素如gif、视频、音乐和表单技术得到合理运用,确保页面清爽、美观、大方,避免雷同。为了帮助更多前端开发者学习与成长,本文提供了学习资源和技术支持。欢迎通过点赞、评论和...

如何用JavaScript动态修改CSS样式表
他是想用JQ的类选择器.ls选择所有使用这个样式的对象,对它们逐个进行调整,而非更改CSS样式表,所以会有“对象很多”的顾虑。 但问题是,这只是改了那些对象的具体表现样式,而并非改了.LS的设置。如果再出现一个使用.LS风格的元素,它还是老样子,你还需要对这个元素再去调整,治标不治本。而且这种...

css如何实现真正的网页渐变背景
方法:根据浏览者的分辨率自动调用样式表 1、新建两个样式表分别命名为:1024.css 800.css(当然有更多分辨率,可以增加样式表)2、在样式表中分别定义好图片作为网页背景。3、新建一个网页文件,把下面代码复制过去。 <!-- function test(){ var a=screen.width+".css"\/\/alert(a)\/\/测试变量a...

相似回答