iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Remix如何支持原生 CSS方法详解
  • 877
分享到

Remix如何支持原生 CSS方法详解

Remix支持原生CSSRemix原生CSS 2023-05-19 08:05:01 877人浏览 独家记忆
摘要

目录Remix CSS 语法links 函数写法links 函数层级links 函数中 css 媒体查询第三方 cssimport 语法小结Remix CSS 语法 Remix 是一

Remix CSS 语法

Remix 是一个多页面的框架,对页面的原生 CSS 的支持分为两大类型:

  • 使用 links 函数,转换成 link 标签支持 css
  • 使用 javascript import 语法支持 css ,但是最终也会成为 link 标签
  • 驼峰命名法
.PrimaryButton {
  
}
[data-primary-button] {
  
}

links 函数写法

  • rel
  • href
  • media
import type { LinksFunction } from "@remix-run/node"; // or cloudflare/deno
import globalStyleHref from '~/styles/globalStyleHref'
export const links: LinksFunction = () => {
  return [
    {
      rel: "stylesheet",
      href: globalStyleHref,
      media: "(min-width: 1280px)",
    },
  ];
};

links 函数层级

  • root 级, 添加全局样式
  • 定义全局样式
  • 在 root.tsx links 函数中添加全局样式
import globalStylesHref from '~/styles/global.css'
export const links: LinksFunction = () => [
  { rel: "stylesheet" , href: globalStylesHref },
  ...(cssBundleHref ? [{ rel: "stylesheet", href: cssBundleHref }] : []),
];
  • route 级, 添加路由级样式
  • 定义 route 级样式
  • 在 routes/xxx.tsx links 函数中引入样式
import ArticleStylesHref from "~/styles/article.css";
export const links: LinksFunction = () => [
  { rel: "stylesheet", href: ArticleStylesHref },
];
  • nest route 级,添加嵌套路由样式
  • 理解嵌套路由(配合 <Outlet /> 使用)
  • 定义 nest route 级样式
  • 在 routes/xxx.yyy.tsx links 函数中引入 nest 样式
import articleDetailStylesHref from "~/styles/article.detail.css";
export const links: LinksFunction = () => [
  { rel: "stylesheet", href: articleDetailStylesHref },
];

这以文章和文章详情作为嵌套路由,方便理解。

links 函数中 css 媒体查询

  • media 属性, 一般用于断点,暗黑模式等
export const links: LinksFunction = () => {
  return [
    {
      rel: "stylesheet",
      href: mainStyles,
    },
    {
      rel: "stylesheet",
      href: largeStyles,
      media: "(min-width: 1024px)",
    },
    {
      rel: "stylesheet",
      href: xlStyles,
      media: "(min-width: 1280px)",
    }
  ];
};
import ArticleStylesHref from "~/styles/article.css";
import Article1024StylesHref from '~/styles/article-1024.css'
import Article1208StylesHref from '~/styles/article-1280.css'
export const links: LinksFunction = () => [
  { rel: "stylesheet", href: ArticleStylesHref },
  { rel: "stylesheet", href: Article1024StylesHref, media: "(min-width: 1024px)", },
  { rel: "stylesheet", href: Article1208StylesHref, media: "(min-width: 1280px)" },
];

第三方 css

href 属性直接访问第三方地址:

export const links: LinksFunction = () => {
  return [
    {
      rel: "stylesheet",
      href: "https://unpkg.com/modern-css-reset@1.4.0/dist/reset.min.css",
    },
  ];
};

import 语法

import 语法需要配合 remix 提供的 @remix-run/css-bundle 包使用:

import { cssBundleHref } from "@remix-run/css-bundle";
export const links: LinksFunction = () => [
  ...(cssBundleHref ? [{ rel: "stylesheet", href: cssBundleHref }] : []),
];

此时就可以直接使用 import './xxx.css' 文件,这与 webpack css-loader 提供的能力相当了。

小结

  • remix 对 css 支持已经比较成熟,市面上主流的 css 方案都正式在 v1.16.0 版本中稳定支持。
  • remix 通过 links 韩式支持原生 css 的 link 比标签,设计上有一一对应的关系。
  • 同时也支持了使用 import 语法支持,本质是主动的加上 link 标签
  • 同时支持不同层级的 css 初次使用时,需要理解 root/route/nest-route 的内容
  • remix links 页支持了 css 的媒体查询功能,能在 links 中定义媒体查询断点

以上就是Remix如何支持原生 CSS的详细内容,更多关于Remix支持原生 CSS的资料请关注编程网其它相关文章!

--结束END--

本文标题: Remix如何支持原生 CSS方法详解

本文链接: https://www.lsjlt.com/news/212679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Remix如何支持原生 CSS方法详解
    目录Remix CSS 语法links 函数写法links 函数层级links 函数中 css 媒体查询第三方 cssimport 语法小结Remix CSS 语法 Remix 是一...
    99+
    2023-05-19
    Remix支持原生CSS Remix原生CSS
  • Android Studio 3.0 原生支持kotlin 例子详解
    安卓虽然已经成为了移动设备第一操作系统,且影响力也延伸到了汽车和tv端,不过对于谷歌来说,需要依靠Java来做安卓开发一直是一个心病,因为Oracle公司因为java和谷歌在安卓系统上的诉讼搞得心力憔悴。 现在好了,谷歌官方正式支持Kotl...
    99+
    2023-05-31
    kotlin android roi
  • 详解vite如何支持cjs方案示例
    目录一、问题二、解决方案三、如何处理commonJS一、问题 vite运行时使用esbuild,基于esm大部分三方包为UMD规范,输出的是CommonJS的包(比如react、lo...
    99+
    2024-04-02
  • Vue2如何支持compositionAPI示例详解
    目录前言如何使用原理解析响应式( ref reactive 的实现)总结前言 自从 Vue3 发布之后,composition API 这个词走入写 Vue 同学的视野之中,相信大...
    99+
    2023-01-13
    Vue 支持composition API Vue composition API
  • 如何检查PHP支持的方法
    这篇“如何检查PHP支持的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何检查PHP支持的方法”文章吧。查看phpin...
    99+
    2023-07-05
  • SpringData如何通过@Query注解支持JPA语句和原生SQL语句
    目录通过@Query注解支持JPA语句和原生SQL语句@Query注解的用法(SpringDataJPA)1.一个使用@Query注解的简单例子2.Like表达式3.使用Native...
    99+
    2024-04-02
  • 详解操作cookie的原生方法cookieStore
    目录1. 平时如何操作 cookie2. 新方式 cookieStore2.1 基本方法2.2 设置 cookie2.3 获取 cookie2.4 获取所有的 cookie2.5 删...
    99+
    2024-04-02
  • Python实现支持向量机(SVM)分类:算法原理详解
    在机器学习中,支持向量机(SVM)常被用于数据分类和回归分析,是由分离超平面的判别算法模型。换句话说,给定标记的训练数据,该算法输出一个对新示例进行分类的最佳超平面。 支持向量机(SVM)算法模型是将示例表示为空间中的点,经过映...
    99+
    2024-01-24
    机器学习 算法的概念
  • IE6不支持hover赋予css样式如何解决
    本篇内容介绍了“IE6不支持hover赋予css样式如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • vscode不支持es6语法如何解决
    这篇文章主要讲解了“vscode不支持es6语法如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vscode不支持es6语法如何解决”吧! ...
    99+
    2024-04-02
  • 如何解决JavaScript find方法不支持IE的问题
    小编给大家分享一下如何解决JavaScript find方法不支持IE的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在...
    99+
    2024-04-02
  • windows对象不支持此属性或方法如何解决
    今天小编给大家分享一下windows对象不支持此属性或方法如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。解决方法:首...
    99+
    2023-06-30
  • idea中es6语法不支持如何解决
    这篇文章主要介绍“idea中es6语法不支持如何解决”,在日常操作中,相信很多人在idea中es6语法不支持如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”idea中e...
    99+
    2024-04-02
  • Ubuntu如何开启.htaccess的支持配置方法
    小编给大家分享一下Ubuntu如何开启.htaccess的支持配置方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!步骤:1. 终端运行代码如下:sudo a2enmod程序提示可供激活的模块名称,输入:rewrite或者...
    99+
    2023-06-13
  • 如何为老vue项目添加vite支持详解
    1、前言 接手公司的某个项目已经两年了,现在每次启动项目都接近1分钟,hmr也要好几秒的时间,but vite2发布之后就看到了曙光,但是一直没有动手进行升级,昨天终于忍不住了,升...
    99+
    2024-04-02
  • js原生方法被覆盖如何重新赋值原生
    这篇文章给大家分享的是有关js原生方法被覆盖如何重新赋值原生的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现原理js的原生方法被覆盖掉以后,如果你还没让原生方法又从新指向一个新...
    99+
    2024-04-02
  • vscode不支持nvue语法高亮如何解决
    本篇内容介绍了“vscode不支持nvue语法高亮如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题描述例如:vscode中使用*....
    99+
    2023-07-05
  • 如何让你的Nginx支持分布式追踪详解
    目录Background源码构建nginx-opentracing准备nginx-opentracing准备jaeger-client-cpp编译gcc编译cmake编译jaeger...
    99+
    2024-04-02
  • Servlet方法生命周期及执行原理详解
    目录快速入门创建JavaEE项目实现接口中的抽象方法执行执行原理Servlet中的生命周期方法1.被创建:执行init方法,只执行一次2.提供服务:执行service方法,执行多次3...
    99+
    2024-04-02
  • 如何解决对象不支持indexOf属性或方法的问题
    小编给大家分享一下如何解决对象不支持indexOf属性或方法的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!var diva...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作