【问题标题】:How to display div element on hover another element using css-in-js?如何使用 css-in-js 在悬停另一个元素时显示 div 元素?
【发布时间】:2020-07-29 22:57:45
【问题描述】:

我试图仅在悬停到特殊 div 时显示一些信息。我正在使用材质 ui 及其 withStyles 组件。有没有办法做到这一点?

【问题讨论】:

标签: javascript reactjs material-ui css-in-js


【解决方案1】:

请检查这个例子:

import React, {useState} from "react";

export default function ShowButtonHover() {
    const [style, setStyle] = useState({display: 'none'});

    return (
        <div className="App">
            <h2>Hidden message in the box. Move mouse in the box</h2>
            <div style={{border: '1px solid gray', width: 300, height: 300, padding: 10, margin: 100}}
                 onMouseEnter={e => {
                     setStyle({display: 'block'});
                 }}
                 onMouseLeave={e => {
                     setStyle({display: 'none'})
                 }}
            >
                <div style={style}>This was hidden</div>
            </div>
        </div>
    );
}

【讨论】:

  • 谢谢!我检查了这个例子,它有效。虽然保持这样的 style 属性看起来有点开销,但它解决了问题。
  • @Tatiana 非常感谢
  • 但我仍然不确定将样式保持在组件状态是否真的正确 :) 也许我错过了什么
  • 因为这只是一个例子,所以如果你有很多样式,那么你可以将这些样式在 css 类中写入一个 css 文件,然后你可以使用 setClassName("your-css-class")。那么我相信你会再担心了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多