【发布时间】:2020-05-21 14:15:36
【问题描述】:
我有一个名为 Header 的组件,它有 2 个 Navlink,分别用于添加和查看 2 个按钮。标头组件在整个应用程序中是通用的,已合并到 Approutes.js 中。由于某种原因,第二个按钮视图没有按照 css 样式呈现。
Approutes.js
import React from 'react';
import { BrowserRouter, Route, Switch } from "react-router-dom";
import Header from "./Header";
import Home from "./Home";
const Approutes = () => {
return (
<BrowserRouter>
<div>
<Header/>
<Switch>
<Route path="/" component={Home} exact={true} />
</Switch>
</div>
</BrowserRouter>
);
};
export default Approutes;
Home.js
从'react'导入反应,{组件};
class Home extends Component {
render() {
return (
<div className="home">
</div>
);
}
}
export default Home;
Header.js:-
import { NavLink } from "react-router-dom";
import React, { Component } from "react";
class Header extends Component {
render() {
return (
<div className="header">
<div className="appTitle">
<h1>NEW APP</h1>
</div>
<div className="navLinks">
<NavLink
to="/create"
className="addBtn"
activeClassName="activeButton"
>
ADD
</NavLink>
<NavLink
to="/view"
className="viewBtn"
activeClassName="activeButton"
>
VIEW
</NavLink>
</div>
</div>
);
}
}
export default Header;
CSS 文件:-
.home {
width: 100vw;
height: 100vh;
margin:0;
padding: 0;
}
.header {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 0;
padding: 0;
position: absolute;
top: 0vh;
left: 3vw;
border: 2px solid red;
}
.appTitle {
display: flex;
flex-direction: row;
align-items: center;
}
.navLinks {
margin-top: 3vh;
width: 95vw;
border: 2px solid black
}
a:first-child {
float: left;
}
.addBtn,.viewBtn {
font-size: 1.5rem;
height: 6vh;
width: 47.5vw !important;
text-decoration: none;
text-align: center;
background: skyblue;
border-top-right-radius: 50px;
letter-spacing: 1px;
transition: all 280ms ease-out;
text-decoration: none;
outline: none;
cursor: pointer;
}
.activeButton {
background: lighten(rgba(7, 116, 241, 0.9), 10%);
letter-spacing: 1.5px;
font-size: 2.5rem;
transition: all 280ms ease-in;
color: white;
width: 47.5vw !important;
}
查看按钮错位:-
【问题讨论】:
标签: css reactjs react-router