css - ReactJS 在页面调整大小时更改图像/徽标
问题描述
我是新来的反应,想在页面调整大小时更改标题品牌徽标,即当网站在桌面或移动设备上可见时。品牌标志应该改变,非常感谢
解决方案
使用方法 获取应用header
元素的宽度。clientWidth
import React from "react";
import Styles from "./Styles.css";
class Header extends React.Component{
constructor(props){
super(props);
this.state={
headerLogo :"/img/logo.png" //desktop logo
}
this.headerLogo = this.headerLogo.bind(this);
}
componentDidMount(){
window.addEventListener('resize',this.headerLogo);
}
headerLogo(){
const width = document.header.clientWidth;
if(width <= 768){
this.setState({
headerLogo : "/img/tablogo.png" //tab logo
});
}
}
render(){
return(
<header>
<nav>
<div>
<img src={this.state.headerLogo} alt="logo" />
</div>
</nav>
</header>
);
}
}
样式.css
header{
width:100%;
}
推荐阅读
- c# - 如何在 C# 中获取 hScrollBar 上的光标位置
- java - 是否有机会在 Rest Assured 方法中添加断言消息?
- python - 我收到错误 AttributeError: 'Series' object has no attribute 'split'
- javascript - Javascript 函数无法更新 html 中的值(跨度 id)
- matlab - 在 MATLAB 的输出中得到 [0 x1 double] 的含义和原因是什么?
- python - 如果列包含非 alpha 值,则删除 pandas 行
- javascript - 使用 JavaScript 构建 SVG 图标
- flutter - Obx 不工作 - Flutter Getx 包
- c# - 在 C# WinForm 中的窗口后面截屏
- c - 在 C 中使用“框模糊”技术模糊 image.bmp