最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Remix如何支持原生?CSS方法詳解

 更新時(shí)間:2023年05月06日 10:31:14   作者:喬治_x  
這篇文章主要為大家介紹了Remix如何支持原生CSS的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Remix CSS 語法

Remix 是一個(gè)多頁面的框架,對頁面的原生 CSS 的支持分為兩大類型:

  • 使用 links 函數(shù),轉(zhuǎn)換成 link 標(biāo)簽支持 css
  • 使用 javascript import 語法支持 css ,但是最終也會成為 link 標(biāo)簽
  • 駝峰命名法
.PrimaryButton {
  /* ... */
}
  • html 屬性法
[data-primary-button] {
  /* ... */
}

links 函數(shù)寫法

  • 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 函數(shù)層級

  • root 級, 添加全局樣式
  • 定義全局樣式
  • 在 root.tsx links 函數(shù)中添加全局樣式
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 函數(shù)中引入樣式
import ArticleStylesHref from "~/styles/article.css";
export const links: LinksFunction = () => [
  { rel: "stylesheet", href: ArticleStylesHref },
];
  • nest route 級,添加嵌套路由樣式
  • 理解嵌套路由(配合 <Outlet /> 使用)
  • 定義 nest route 級樣式
  • 在 routes/xxx.yyy.tsx links 函數(shù)中引入 nest 樣式
import articleDetailStylesHref from "~/styles/article.detail.css";
export const links: LinksFunction = () => [
  { rel: "stylesheet", href: articleDetailStylesHref },
];

這以文章和文章詳情作為嵌套路由,方便理解。

links 函數(shù)中 css 媒體查詢

  • media 屬性, 一般用于斷點(diǎn),暗黑模式等
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 }] : []),
];

此時(shí)就可以直接使用 import './xxx.css' 文件,這與 webpack css-loader 提供的能力相當(dāng)了。

小結(jié)

  • remix 對 css 支持已經(jīng)比較成熟,市面上主流的 css 方案都正式在 v1.16.0 版本中穩(wěn)定支持。
  • remix 通過 links 韓式支持原生 css 的 link 比標(biāo)簽,設(shè)計(jì)上有一一對應(yīng)的關(guān)系。
  • 同時(shí)也支持了使用 import 語法支持,本質(zhì)是主動的加上 link 標(biāo)簽
  • 同時(shí)支持不同層級的 css 初次使用時(shí),需要理解 root/route/nest-route 的內(nèi)容
  • remix links 頁支持了 css 的媒體查詢功能,能在 links 中定義媒體查詢斷點(diǎn)

以上就是Remix如何支持原生 CSS的詳細(xì)內(nèi)容,更多關(guān)于Remix支持原生 CSS的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • React元素與組件的區(qū)別示例詳解

    React元素與組件的區(qū)別示例詳解

    這篇文章主要為大家介紹了React元素與組件的區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • react源碼合成事件深入解析

    react源碼合成事件深入解析

    這篇文章主要為大家介紹了react源碼合成事件深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • React Render Props共享代碼技術(shù)

    React Render Props共享代碼技術(shù)

    render props是指一種在 React 組件之間使用一個(gè)值為函數(shù)的 prop 共享代碼的技術(shù)。簡單來說,給一個(gè)組件傳入一個(gè)prop,這個(gè)props是一個(gè)函數(shù),函數(shù)的作用是用來告訴這個(gè)組件需要渲染什么內(nèi)容,那么這個(gè)prop就成為render prop
    2023-01-01
  • react使用mobx封裝管理用戶登錄的store示例詳解

    react使用mobx封裝管理用戶登錄的store示例詳解

    這篇文章主要介紹了react基于mobx封裝管理用戶登錄的store,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • React中的JSX??{?}的使用詳解

    React中的JSX??{?}的使用詳解

    這篇文章主要介紹了React中的JSX{?}的使用,React使用JSX來替代常規(guī)的JavaScript,JSX可以理解為的JavaScript語法擴(kuò)展,它里面的標(biāo)簽申明要符合XML規(guī)范要求,對React?JSX使用感興趣的朋友一起看看吧
    2022-08-08
  • React實(shí)現(xiàn)登錄表單的示例代碼

    React實(shí)現(xiàn)登錄表單的示例代碼

    這篇文章主要介紹了React實(shí)現(xiàn)登錄表單的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • mobx在react hooks中的應(yīng)用方式

    mobx在react hooks中的應(yīng)用方式

    這篇文章主要介紹了mobx在react hooks中的應(yīng)用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • React并發(fā)更新與性能優(yōu)化解析

    React并發(fā)更新與性能優(yōu)化解析

    這篇文章主要為大家介紹了React并發(fā)更新與性能優(yōu)化解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 詳解React中如何獲取真實(shí)的dom

    詳解React中如何獲取真實(shí)的dom

    這篇文章主要為大家詳細(xì)介紹了React中獲取真實(shí)的dom的相關(guān)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • antd踩坑之javascriptEnabled配置方式

    antd踩坑之javascriptEnabled配置方式

    這篇文章主要介紹了antd踩坑之javascriptEnabled配置方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

朝阳市| 和平区| 安达市| 阳西县| 丽江市| 合江县| 淮阳县| 屏边| 德钦县| 康定县| 江陵县| 五台县| 江门市| 武隆县| 依安县| 柘城县| 麻江县| 灵寿县| 扬中市| 林州市| 会理县| 肇州县| 朝阳市| 浦江县| 大田县| 杨浦区| 金寨县| 阿荣旗| 新河县| 同仁县| 蕲春县| 新蔡县| 青田县| 迁安市| 亚东县| 镇康县| 福建省| 娱乐| 龙陵县| 霍邱县| 鄂尔多斯市|