我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

Remix CSS 语法

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

  • 使用 links 函数,转换成 link 标签支持 css
  • 使用 javascript import 语法支持 css ,但是最终也会成为 link 标签
  • 驼峰命名法
.PrimaryButton {
  
}
  • html 属性法
[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的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

这篇文章主要为大家介绍了Remix如何支持原生CSS的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-19

windows对象不支持此属性或方法如何解决

今天小编给大家分享一下windows对象不支持此属性或方法如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。解决方法:1
2023-06-30

电脑出现windows网页对象不支持此属性或方法如何解决

这篇“电脑出现windows网页对象不支持此属性或方法如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑出现wind
2023-06-27

如何理解Fedora Core 6支持的特定系统文件及各种操作方法

如何理解Fedora Core 6支持的特定系统文件及各种操作方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Fedora Core系统在国内得到了用户充分的
2023-06-16

阿里云服务器如何延迟一天详解延迟原因及解决方法

在使用阿里云服务器的过程中,可能会遇到一些延迟问题。如果阿里云服务器延迟一天,可能会影响到您的业务运行和数据安全。本文将详细介绍阿里云服务器延迟一天的原因,以及提供一些解决方法。阿里云服务器延迟一天的原因:网络问题:可能是由于网络问题导致的,例如网络线路故障,网络延迟等。服务器负载过高:如果服务器负载过高,可能会
阿里云服务器如何延迟一天详解延迟原因及解决方法
2023-11-07

编程热搜

目录