Javascript 如何使用ReactJS实现响应性布局?
我还是JavaScript和ReactJS的初学者 我正在做一个项目来提高我的知识。我有一个与CSS和HTML布局已经响应。我正试图在我的ReactJS项目上用Javascript实现一些逻辑。当我点击我的Javascript 如何使用ReactJS实现响应性布局?,javascript,html,css,reactjs,responsive,Javascript,Html,Css,Reactjs,Responsive,我还是JavaScript和ReactJS的初学者 我正在做一个项目来提高我的知识。我有一个与CSS和HTML布局已经响应。我正试图在我的ReactJS项目上用Javascript实现一些逻辑。当我点击我的汉堡图标时,我的导航打开,当我点击我的关闭图标时,我的导航关闭。你能告诉我怎么做吗 由于布局仅在HTML和CSS中响应,因此mynav的显示取决于屏幕的宽度 这是我输入的代码 import React,{useState}来自“React”; 导入“/index.scss”; 常量Home
汉堡图标时,我的导航
打开,当我点击我的关闭
图标时,我的导航
关闭。你能告诉我怎么做吗
由于布局仅在HTML和CSS中响应,因此mynav
的显示取决于屏幕的宽度
这是我输入的代码
import React,{useState}来自“React”;
导入“/index.scss”;
常量Home=()=>{
const[showMenu,setShowMenu]=使用状态(false);
恒把手图标=(e)=>{
e、 预防默认值();
设置showMenu(!showMenu);
};
返回(
类别
-
-
-
-
-
金卡戴珊
2009年,金·卡戴珊与她合作推出了香水系列
签名香水,Kim称为Kim Kardashian
卡戴珊。
伍迪/东方/{“}
美食家
-
样本{'}
自由的
-
正规{'}
38.00€
);
};
导出默认主页代码>
:根目录{
--白色:#ffffff;
--黑色:#11111 6;
--灰色:#f4f7f6;
--灰黑色:#6c7680;
--橙色:#ff8f32;
}
身体,
html{
字体系列:Helvetica,无衬线;
字体大小:300;
线高:1.5;
颜色:var(--黑色);
文本对齐:左对齐;
背景色:var(--灰色);
}
* {
框大小:边框框;
保证金:0;
填充:0;
}
保险商实验室{
列表样式类型:无;
}
p{
颜色:var(--灰色-深色);
}
.标签{
颜色:var(--橙色);
文本对齐:右对齐;
}
h1{
颜色:var(--橙色);
字体大小:400;
}
氢{
字号:2.125rem;
填充:0 1rem;
}
h3{
字体大小:1.5rem;
填充:0.5雷姆;
字体大小:300;
}
.柔性容器{
显示器:flex;
柔性流:行换行;
文本对齐:居中;
最大宽度:1400px;
保证金:2rem自动;
}
.flex容器>*{
填充:15px;
弹性:1100%;
}
标题{
显示器:flex;
对齐项目:居中;
文本对齐:居中;
边缘底部:2rem;
}
伯格尔巴顿先生{
右边距:1rem;
光标:指针;
}
.burguer button分区{
宽度:2em;
高度:0.25雷姆;
背景色:var(--黑色);
保证金底部:0.3雷姆;
}
输入[type=“search”],
输入[type=“text”]{
字号:1rem;
字体大小:300;
背景剪辑:填充框;
过渡:所有0.2秒缓解;
大纲:0;
-webkit外观:无;
宽度:100%;
调整大小:无;
填充:1rem;
边框:1px实心变量(--灰色);
}
输入:悬停,
输入:焦点{
过渡:所有0.2秒缓解;
光标:自动;
边框:1px实心变量(--橙色);
}
.导航菜单.激活a{
颜色:var(--橙色);
}
.导航菜单a{
位置:相对位置;
显示:块;
填充:1rem;
字号:17px;
字体大小:300;
颜色:#202121;
光标:指针;
背景#f4f7f6;
边框底部:1px实心#e6eaea;
文字装饰:无;
过渡:所有0.3秒缓解;
}
.nav菜单a:悬停{
背景色:var(--白色);
-webkit过渡:背景0.3s轻松输入输出;
过渡:背景0.3s缓进缓出;
}
.香水{
位置:相对位置;
宽度:100%;
-webkit过渡:背景0.3s轻松输入输出;
过渡:背景0.3s缓进缓出;
盒影:0 2px 3px 0#e8ebed,0 0 3px 0#e8ebed;
}
.box信息{
过渡:所有0.3秒的缓进缓出;
填充:1.5雷姆;
弹性:1;
位置:相对位置;
明确:两者皆有;
背景色:var(--白色);
保证金底部:1.5雷姆;
}
.box信息--内容{
显示器:flex;
证明内容:之间的空间;
保证金底部:1.5雷姆;
}
.box信息--页脚{
显示器:flex;
}
.box信息--页脚ul{
显示:内联flex;
}
.box信息--页脚li{
显示:内联flex;
调整项目:基线;
填充:0 1rem0 0;
}
.box信息--页脚li span{
颜色:var(--灰色-深色);
}
/*导航类别*/
.导航类别{
位置:固定;
排名:0;
左:0;
高度:100vh;
宽度:75%;
垫面:3rem;
文本对齐:左对齐;
z指数:-1;
背景色:var(--灰色);
}
.导航类别.标题{
位置:相对位置;
}
.导航类别。关闭{
位置:绝对位置;
排名:0;
右:0;
}
.导航类别{
列表样式类型:无;
}
.导航类别李{
光标:指针;
}
.选择导航类别{
背景色:rgb(87,87,206);
颜色:#ffffff;
}
.香水清单{
弹性:1;
顺序:2;
文本对齐:左对齐;
}
.香水{
利润率:10px;
文本对齐:左对齐;
边框底部:1px纯黑;
}
.香水{
列表样式类型:无;
}
/*分页*/
.分页{
文本对齐:居中;
顺序:3;
}
.分页{
宽度:100%;
}
.分页{
显示:内联flex;
对齐项目:居中;
左侧填充:0;
页边距底部:0;
证明内容:中心;
<div className="burguer-button" onClick={handleBurgerIcon}>
const [showMenu, setShowMenu] = React.useState(false);
const handleBurgerIcon = (e) => {
e.preventDefault();
setShowMenu(!showMenu);
}
{showMenu &&
<ul className="nav-menu">
<li className="active">
<a href="#">Floral</a>
</li>
<li>
<a href="#">Fresh</a>
</li>
<li>
<a href="#">Gourmand</a>
</li>
<li>
<a href="#">Woody</a>
</li>
</ul>
}