Ant Design引入的组件样式不生效

一、问题

  1.  使用Ant Design中的组件时,组件的样式不生效
  2. 具体问题:想使用Layout布局中的上中下布局;以前使用过,当时组件和样式是结合在一起的,只需要引入相应的组件并插入到自己的render函数中即可。但今天使用的时候发现组件和样式分开了
  3. 于是自己尝试将样式单独写入一个.css文件中,并在该组件的文件中引入。但结果不尽如人意,样式完全是混乱的
  • 效果图
  • app.jsx
    import React from 'react';
    
    //导入路由组件
    import {HashRouter,Route,Link} from 'react-router-dom';
    
    //Ant Design 布局组件
    import { Layout, Menu, Breadcrumb } from 'antd';
    const { Header, Content, Footer } = Layout;
    //Ant Design 样式文件
    import './css/app.css'
    
    
    export default class App extends React.Component{
        constructor(props){
            super(props);
            this.state={}
        }
    
        render(){
                return(
                   <HashRouter>
                        <Layout className="layout">
                                <Header>
                                <div className="logo" />
                                <Menu theme="dark" mode="horizontal" defaultSelectedKeys={['2']}>
                                    <Menu.Item key="1">nav 1</Menu.Item>
                                    <Menu.Item key="2">nav 2</Menu.Item>
                                    <Menu.Item key="3">nav 3</Menu.Item>
                                </Menu>
                                </Header>
                                <Content style={{ padding: '0 50px' }}>
                                <Breadcrumb style={{ margin: '16px 0' }}>
                                    <Breadcrumb.Item>Home</Breadcrumb.Item>
                                    <Breadcrumb.Item>List</Breadcrumb.Item>
                                    <Breadcrumb.Item>App</Breadcrumb.Item>
                                </Breadcrumb>
                                <div className="site-layout-content">Content</div>
                                </Content>
                                <Footer style={{ textAlign: 'center' }}>Ant Design ©2018 Created by Ant UED</Footer>
                            </Layout>            </HashRouter>
                )
              } 
        }
    
    
    

     

  • app.css
    .site-layout-content {
        min-height: 280px;
        padding: 24px;
        background: #fff;
    }
    
    #components-layout-demo-top .logo {
        float: left;
        width: 120px;
        height: 31px;
        margin: 16px 24px 16px 0;
        background: rgba(255, 255, 255, 0.9);
    }
    
    .ant-row-rtl #components-layout-demo-top .logo {
        float: right;
        margin: 16px 0 16px 24px;
    }

    二、解决方法

  1. Ant design中提供了显示编辑器
  2. 点击每一个组件下方的 “在CodeSandbox中打开” 或 “在CodePen中打开” 或 “在Stackblitz中打开”即可查看该组件完整的源代码——html、css、js。对照源代码修改自己的代码即可。
  3. 我点开后发现,自己的css文件中少了一句  对Ant design样式的引入: @import '~antd/dist/antd.css';
  4. 将该语句添加到app.css文件中,组件和样式正常显示
  • 修改后的app.css
    @import '~antd/dist/antd.css';
    .site-layout-content {
        min-height: 280px;
        padding: 24px;
        background: #fff;
    }
    
    #components-layout-demo-top .logo {
        float: left;
        width: 120px;
        height: 31px;
        margin: 16px 24px 16px 0;
        background: rgba(255, 255, 255, 0.9);
    }
    
    .ant-row-rtl #components-layout-demo-top .logo {
        float: right;
        margin: 16px 0 16px 24px;
    }

     

  • 最终结果
  • 三、总结

  1. 当使用Ant Design样式不生效时,可以通过对照 CodeSandbox 或 CodePen 或 Stackblitz中的源代码进行修改
  2. 上面所说的按钮在每个组件的介绍下方

 

 

希望对你有帮助!

如有错误,欢迎指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值