首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈网页模式实现

我们浏览网页时,经常会发现许多网页都支持两种主题模式,一种是正常模式,一种是夜间模式,夜间模式也就是我们所说的暗色模式,也可以说是深色模式或者灰色模式。今天我们就来探讨如何让网页实现暗色模式。...其实想要实现网页暗色模式,我们只需要使用CSS中的“prefers-color-scheme”属性来完成设置即可。...其实,我们只需要用prefers-color-scheme的dark属性值即可,具体源码如下: 普通模式演示 暗色模式演示 最后,我们只需要把PC端的浏览器设置为灰色主题(夜间模式)即可体现效果,...至于手机端的浏览器也是同样的道理,手机端的QQ和微信也是可以实现的,只需要开启应用的夜间模式即可。

55130
您找到你想要的搜索结果了吗?
是的
没有找到

设计模式(10)-JavaScript如何实现组合模式???

1 什么是组合模式 组合模式允许创建具有属性的对象,这些对象是原始项目或对象集合。集合中的每个项目本身可以容纳其他集合,创建深度嵌套结构。 树型控件是复合模式的一个完美例子。...组合模式能对于工作能起到简化作用,组合对象实现某一操作时,通过递归,向下传递到所有的组成对象,在存在大批对象时,假如页面的包含许多拥有同样功能的对象,只需要操作组合对象即可达到目标。...在存在着某种的层次结构,并且其中的一部分要实现某些操作,即可使用组合模式。 组合模式中的所有节点都共享一组通用的属性和方法,它既支持单个对象,也支持对象集合。...2 操作系统目录结构、公司部门组织架构、国家省市县等,像这么看起来复杂的现象,都可以使用组合模式,即部分-整体模式来操作。 2 主要参与者 ?...3 代码实现 在下边的代码中,Node(节点)对象创建了一个树状结构。每个节点都有一个名字和4个方法:add、remove、getChild和hasChildren。这些方法被添加到Node的原型中。

1.2K41

设计模式(2)---JavaScript如何实现单例模式

1 什么是单例模式? 单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。...2 单例模式的作用和注意事项 作用: 1 模块间通信。 2 系统中某个类的对象只能存在一个。 3 保护自己的属性和方法。 注意事项: 1 注意this的使用。...(继承) 3 代码实现 JavaScript实现单例的方式很多种,只要符合定义即可。...alert(_xw.lingsheng); _xw = null; //等待垃圾回收 } } xiaoLiu.callXiaoWang("请求通话"); 4 案例应用 4.1 使用单例模式管理命名空间...console.log("XXXX"); }; }()) myNamespace1.method(); 4.2 使用单例模式为不同命名空间的

54331

看Python 如何实现门面模式

结构型设计模式 门面模式与单例模式,工厂模式不同,它是一种结构型模式。 结构型模式描述如何将对象和类组合成更大的结构。...类模式通过继承来描述抽象,从而提供更有用的程序接口,而对象模式描述了如何将对象联系起来从而组合成更大的对象。...门面所解决的问题是,如何用单个接口对象来表示复杂的子系统,它实际上并不是封装子系统,而是对底层子系统进行组合。 促进实现子系统与客户端的解耦。...门面 一个接口,知道某个请求应该交由哪个子系统处理 通过组合的方式将客户端的请求委派给相应的子系统对象 系统 实现子系统的功能,由一组负责不同任务的类来表示 处理门面对象分配的工作,但并不知道门面也不引用它...Python 实现门面模式 #门面 class ProjectProcess(object): def __init__(self): print("get the project

26210

设计模式(4)-JavaScript如何实现建造者模式

建造者模式我们在代码中经常用到,比如Jquery中的ajax请求: //1 用户发送一个请求 //2 $.ajax建造者模式(指挥者) //3 具体实现 (建造者) $.ajax({ url:'www.albertyy.com...客户端可以指导建造者创建,而不需要知道实际工作是如何完成的。 模式作用: 1 分步创建一个复杂的对象。 2 解耦封装过程和具体创建的组件。 3 无需关心组件如何组装。...3.代码实现 ? 建造者模式的参与者主要有:product产品类、Builder建造者类、Director指挥者类。由于JavaScript不支持抽象类,因此未使用AbstractBuilder。...如果有新的需求,通过实现一个新的建造者类就可以完成,并且建造者模式解耦了对象本身与构建过程,使得我们不用关心具体的建造过程。...通过以上对建造者模式的学习,你应该掌握了以下知识: 1 知道什么是建造者模式。 2 掌握建造者模式的作用和使用注意事项。 3 掌握建造者设计模式代码编写。 你可以使用这些技巧来改善一下你曾经的代码。

93631

js 函数如何实现策略模式与状态模式

前言 有关设计模式的学习资料中,大部分都是以 java 语言实现的,毕竟 java 作为老牌面向对象的语言最能说明设计模式的核心概念,所以 js 的相关设计模式的学习资料也大多使用 class 类实现...,本文记录下 js 使用函数实现策略模式和状态模式设计模式的方式,更有助于理解策略模式和状态模式如何在实际工作中运用。...目的:将算法的使用和算法实现分离开来 优点: 利用组合、委托、多态等思想,可以解决多重条件选择语句问题 策略模式提供了对开放—封闭原则的完美支持,将算法封装在独立的strategy中,使得它们易于切换,...: 代码会增加许多策略类和策略对象 需要全面了解各种 stragety, stragety要向客户暴露它的所有实现,违反最少知识原则 状态模式 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类...的引用,来实现状态转移;。

17910

设计模式(6)-JavaScript如何实现抽象工厂模式

1 学习目标 通过本篇文章的学习,你应当掌握以下知识: 1 知道什么是抽象工厂模式? 2 掌握抽象工厂模式的作用以及什么时候需要使用抽象工厂模式 3 掌握使用JS实现抽象工厂模式的代码编写。...如果您的应用程序需要对对象创建过程进行更多控制,请考虑使用抽象工厂模式。 3 抽象工厂模式作用 当存在相互关联的依赖关系且涉及非简单创建逻辑时,建议使用抽象工厂模式。...,而不是它们的实现 从概念上讲,依赖项的生存期短于消费者的生存期。...4 抽象工厂模式参与者 ?...产品 : 1 工厂创建的产品实例 AbstractProduct: 1 在JavaScript中没有使用 2 声明要创建的产品的接口 5 代码实现 因为JavaScript不支持基于类的继承,因此,在下面的

1.1K41

设计模式(9)-JavaScript设计模式如何实现桥接模式???

它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化。...这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。...log.show(); } run(); 4 总结 桥式设计适用于一个类存在两个或多个独立变化的维度,且这两个维度都需要进行扩展,桥接模式实现了抽象化与实现化的脱耦...它们两个互相独立,不会影响到对方, 对于两个独立变化的维度,使用桥接模式再适合不过了。 1.桥接模式可以将抽象和其实现分离,方便他们独立变化, 而且实现细节对客户透明。...2.在事件监听中将事件处理函数的抽象部分与实现部分分离,也就是抽像部分只是提供一个接口,具体的实现由桥接函数来实现。 3.桥接模式对的好处是弱化了代码之间的耦合,有利于代码拓展。

1.1K31

设计模式(7)-JavaScript设计模式之原型模式如何实现???

1.什么是原型模式 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式不单是一种设计模式,也被称为一种编程泛型。...这是原型模式的经典实现,但JavaScript可以使用其内置的原型更有效地实现这一功能,后边我们将会修改这一代码。 <!...customer = prototype.clone(); customer.say(); } run(); 4 使用 Object.create实现原型模式...4.2 用 Object.create实现继承 下面的例子演示了如何使用Object.create()来实现类式继承。这是所有JavaScript版本都支持的单继承。 4.2.1 单继承 <!..."); function F() {} F.prototype = proto; return new F(); }; } 4.5 改写原型模式实现

1.2K51

设计模式之简单的单例模式如何实现

单例模式的特点:在同一时期,某个类的对象一定最多只有1个!也许会尝试多次的获取对象,但是,获取到的一定是同一个对象!...如果要实现单例,首先,就必须限制构造方法的访问,例如: public class King { private King() { } } 每个类中都可以有若干个构造方法,如果某个类没有显式的声明任何构造方法...private King() { } public static King getInstance() { return king; } } 至此,基本的单例模式的代码就设计完成了...以上代码是“饿汉式”的单例模式,另外,还有“懒汉式”的单例模式!...基本的懒汉式单例模式的代码是: public class King { private static King king = null; private King() {

44830

设计模式(5)-JavaScript如何实现工厂方法模式

1 什么是工厂方法模式? 在基于类的编程中,工厂方法模式是一种创建模式,该模式使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。...这是通过调用工厂方法来创建对象的,而不是通过调用构造函数,该工厂方法在接口中指定并由子类实现,或者在基类中实现,并且可以选择由派生类覆盖。它提供了一种将实例化逻辑委托给子类的方法。...2 工厂方法模式作用 当类中有一些通用处理,但所需的子类在运行时动态确定时才能确定时,我们可以用工厂方法模式。...或者换句话说,当客户端不知道它可能需要什么确切的子类时,我们这时候就需要使用工厂方法模式。 3 工厂方法模式参与者 ?...工厂方法模式参与者主要有: Create : 1 创造新产品的“工厂”对象 2. 实现“ factoryMethod”,该方法返回新创建的产品 AbstractProduct: 1.

46741
领券