3 changed files with 209 additions and 21 deletions
-
115src/App.jsx
-
110src/assets/css/reset.css
-
5src/main.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 |
@ -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; |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue