Browse Source

layout选型

main
maochaoying 2 years ago
parent
commit
02951d426e
  1. 115
      src/App.jsx
  2. 110
      src/assets/css/reset.css
  3. 5
      src/main.jsx

115
src/App.jsx

@ -1,21 +1,98 @@
import { Component } from 'react'
import { Button } from 'antd'
import { Routes, Route } from 'react-router-dom'
const Home = () => {
return <div>首页</div>
}
const About = () => {
return <div>关于</div>
}
export default class App extends Component {
render() {
return (
<Routes>
<Route path='/' element={<Home />}></Route>
<Route path='/about' element={<About />}></Route>
</Routes>
)
import React, { useState } from 'react'
import {
DesktopOutlined,
FileOutlined,
PieChartOutlined,
TeamOutlined,
UserOutlined,
} from '@ant-design/icons'
import { Breadcrumb, Layout, Menu, theme } from 'antd'
const { Header, Content, Footer, Sider } = Layout
function getItem(label, key, icon, children) {
return {
key,
icon,
children,
label,
}
}
const items = [
getItem('Option 1', '1', <PieChartOutlined />),
getItem('Option 2', '2', <DesktopOutlined />),
getItem('User', 'sub1', <UserOutlined />, [
getItem('Tom', '3'),
getItem('Bill', '4'),
getItem('Alex', '5'),
]),
getItem('Team', 'sub2', <TeamOutlined />, [
getItem('Team 1', '6'),
getItem('Team 2', '8'),
]),
getItem('Files', '9', <FileOutlined />),
]
const App = () => {
const [collapsed, setCollapsed] = useState(false)
const {
token: { colorBgContainer },
} = theme.useToken()
return (
<Layout
style={{
minHeight: '100vh',
}}
>
<Sider
collapsible
collapsed={collapsed}
onCollapse={value => setCollapsed(value)}
>
<div className='demo-logo-vertical' />
<Menu
theme='dark'
defaultSelectedKeys={['1']}
mode='inline'
items={items}
/>
</Sider>
<Layout>
<Header
style={{
padding: 0,
background: colorBgContainer,
}}
/>
<Content
style={{
margin: '0 16px',
}}
>
<Breadcrumb
style={{
margin: '16px 0',
}}
>
<Breadcrumb.Item>User</Breadcrumb.Item>
<Breadcrumb.Item>Bill</Breadcrumb.Item>
</Breadcrumb>
<div
style={{
padding: 24,
minHeight: 360,
background: colorBgContainer,
}}
>
Bill is a cat.
</div>
</Content>
<Footer
style={{
textAlign: 'center',
}}
>
Ant Design ©2023 Created by Ant UED
</Footer>
</Layout>
</Layout>
)
}
export default App

110
src/assets/css/reset.css

@ -0,0 +1,110 @@
/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

5
src/main.jsx

@ -1,7 +1,8 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import {BrowserRouter as Router} from "react-router-dom";
import { BrowserRouter as Router } from 'react-router-dom'
import App from './App.jsx'
import '@/assets/css/reset.css'
import './index.css'
ReactDOM.createRoot(document.getElementById('root')).render(
@ -9,5 +10,5 @@ ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
</Router>
</Router>,
)
Loading…
Cancel
Save