P07:Next.js教程-使用Style JSX编写页面的CSS样式
AI 概述
初识Style JSX语法 把字体设成蓝色自动加随机类名 不会污染全局 CSS动态显示样式总结
在Next.js中引入一个 CSS 样式是不可以用的,如果想用,需要作额外的配置。因为框架为我们提供了一个style jsx特性,也就是把 CSS 用 JSX 的语法写出来。如果你以前学过 Vue,那这种写法你是非常熟悉的。
初识Style ...
目录
在Next.js中引入一个 CSS 样式是不可以用的,如果想用,需要作额外的配置。因为框架为我们提供了一个style jsx特性,也就是把 CSS 用 JSX 的语法写出来。如果你以前学过 Vue,那这种写法你是非常熟悉的。
初识Style JSX语法 把字体设成蓝色
在pages文件夹下,新建一个jspang.js文件。然后写入下面的代码:
function Stylejsx(){
return (
<>
<div>码云笔记-前端博客|前端教程</div>
</>
)
}
export default Stylejsx
这个是一个最简单的页面,只在层中写了一句话。这时候我们想把页面中字的颜色变成蓝色,就可以使用Style JSX语法。直接在<></>之间写下如下的代码:
<style jsx>
{
`div{color:blue;}`
}
</style>
主要所有的 css 样式需要用{}进行包裹,否则就会报错。这时候你打开浏览器进行预览,字体的颜色就变成了蓝色。

自动加随机类名 不会污染全局 CSS
加入了Style jsx代码后,Next.js会自动加入一个随机类名,这样就防止了 CSS 的全局污染。比如我们把代码写成下面这样,然后在浏览器的控制台中进行查看,你会发现自动给我们加入了类名,类似jsx-xxxxxxxx。
function Stylejsx(){
return (
<>
<div>码云笔记-前端博客|前端教程</div>
<div className="mybj">码云笔记-前端博客|前端教程</div>
<style jsx>
{
`div{color:blue;}
.mybj{color:red;}
`
}
</style>
</>
)
}
export default Stylejsx

动态显示样式
Next.js使用了Style jsx,所以定义动态的 CSS 样式就非常简单,比如现在要作一个按钮,点击一下,字体颜色就由蓝色变成了红色。下面是实现代码。
import React, { useState } from 'react';
function Stylejsx(){
// 关键代码 start
const [color,setColor] = useState('blue')
const changeColor = () => {
setColor(color=='blue'?'red':'blue')
}
// 关键代码 end
return (
<>
<div>码云笔记-前端博客|前端教程</div>
<div><button onClick={changeColor}>改变颜色</button></div>
<style jsx>
{
`div{color:${color};}`
}
</style>
</>
)
}
export default Stylejsx
这样就完成了 CSS 的动态显示,是不是非常容易。

总结
本文主要学习了Style jsx的一些知识,有了这些知识,可以让我们的页面变得更加美观。
以上关于P07:Next.js教程-使用Style JSX编写页面的CSS样式的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » P07:Next.js教程-使用Style JSX编写页面的CSS样式
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » P07:Next.js教程-使用Style JSX编写页面的CSS样式
微信
支付宝