热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

React简书项目实战【2】icon优化header

React简书项目实战【2】icon优化header下载icon登录www.iconfont.cn下载3个icon导入在statics文件夹下创建一个iconfont文件夹
React 简书项目实战【2】icon优化header

下载icon

登录www.iconfont.cn

下载3个icon

image-20220627171150177

导入

在statics文件夹下创建一个iconfont文件夹

将文件导入

image-20220627172547590

配置

将iconfont.css改为iconfont.js

将样式注册到全局

import { createGlobalStyle } from 'styled-components'
export const Globalstyle2 = createGlobalStyle`
@font-face {font-family: "iconfont"; /* Project id 3487186 */src: url('./iconfont.woff2?t=1656320768780') format('woff2'),url('./iconfont.woff?t=1656320768780') format('woff'),url('./iconfont.ttf?t=1656320768780') format('truetype');
}.iconfont {font-family: "iconfont" !important;font-size: 16px;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}.icon-yongyan:before {content: "\e600";
}.icon-sousuo:before {content: "\e62f";
}.icon-Aa:before {content: "\e636";
}
`
;

在index.js引入文件

import React from 'react';
import ReactDOM from 'react-dom';
import './style.js';
import App from './App';
import &#39;./statics/iconfont/iconfont.js&#39;ReactDOM.render(<App />,document.getElementById(&#39;root&#39;));

App.js

import React, { Fragment,Component } from "react";
import Header from "./common/header";
import {Globalstyle2} from "./statics/iconfont/iconfont";
import {Globalstyle} from "./style";
class App extends Component{render() {return (<Fragment><Globalstyle/><Globalstyle2 /><Header /></Fragment>);}
}
export default App;

应用

header下的index.js

import React, { Component } from "react";
import {SearchWrapper,HeaderWrapper,Logo,Nav,NavItem,NavSearch,Addition,Button} from "./style";
class Header extends Component {render() {return (<HeaderWrapper><Logo /><Nav><NavItem className&#61;&#39;left active&#39;>首页</NavItem><NavItem className&#61;&#39;left&#39;>下载App</NavItem><NavItem className&#61;&#39;right&#39;>登录</NavItem><NavItem className&#61;&#39;right&#39;><i className&#61;"iconfont ">&#xe636;</i></NavItem><SearchWrapper><NavSearch></NavSearch><i className&#61;"iconfont ">&#xe62f;</i></SearchWrapper></Nav><Addition><Button className&#61;&#39;writting&#39;><i className&#61;"iconfont ">&#xe600;</i>写文章</Button><Button className&#61;&#39;reg&#39;>注册</Button></Addition></HeaderWrapper>)}
}export default Header;

header下的style.js

import styled from &#39;styled-components&#39;;
import logoPic from &#39;../../statics/logo.png&#39;
export const HeaderWrapper &#61; styled.div&#96;position: relative;height: 58px;border-bottom: 1px solid #f0f0f0;
&#96;
;
export const Logo &#61; styled.a.attrs({href:&#39;/&#39;})&#96;position: absolute;top: 0;left: 0;display: block;width: 100px;height: 56px;background: url(${logoPic});background-size: contain;
&#96;
;
export const Nav &#61; styled.div&#96;width: 960px;height: 100%;padding-right: 70px;box-sizing: border-box;margin: 0 auto;
&#96;
;
export const NavItem &#61; styled.div&#96;line-height: 56px;padding: 0 15px;font-size: 17px;color: #333;&.left {float: left;}&.right {float: right;color: #969696;}&.active {color: #ea6f5a;}
&#96;
;
export const SearchWrapper &#61; styled.div&#96;position: relative;float: left;.iconfont {position: absolute;right: 5px;bottom: 5px;width: 30px;line-height: 30px;border-radius: 15px;text-align: center;}
&#96;
;
export const NavSearch &#61; styled.input.attrs({placeholder: &#39;搜索&#39;
})&#96;width: 160px;height: 38px;padding: 0 20px;margin-top: 9px;margin-left: 20px;box-sizing: border-box;border: none;outline: none;border-radius: 19px;background: #eee;font-size: 14px;,&::placeholder {color: #999;}
&#96;
;export const Addition &#61; styled.div&#96;position: absolute;right: 0;top: 0;height: 56px;
&#96;
;export const Button &#61; styled.div&#96;float: right;margin-top: 9px;margin-right: 20px;padding: 0 20px;line-height: 38px;border-radius: 19px;border: 1px solid #ec6149;font-size: 14px;&.reg {color: #ec6149;}&.writting {color: #fff;background: #ec6149;}
&#96;
;

image-20220628012131634

注意&#xff1a;使用火狐浏览器可能存在不显示icon情况


推荐阅读
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文讨论了为什么在main.js中写import不会全局生效的问题,并提供了解决方案。在每一个vue文件中都需要写import语句才能使其生效,而在main.js中写import语句则不会全局生效。本文还介绍了使用Swal和sweetalert2库的示例。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
author-avatar
fangsi155_7827d9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有