const styles = {
container: {
height: '3em',
backgroundColor: 'white',
display: 'flex',
flexDirection: 'row',
alignItems: 'stretch',
justifyContent: 'flex-start',
borderBottom: '1px solid gainsboro',
},
parent: {
display: 'flex',
flex: 1,
flexDirection: 'row',
alignItems: 'stretch',
justifyContent: 'flex-start',
color: 'darkgrey',
},
child: {
width: '6em',
textAlign: 'center',
verticalAlign: 'middle',
lineHeight: '3em',
},
};
var NavBar = (props) => {
const menuOptions = ['home', 'blog', 'projects', 'about'];
return (
<div style={styles.container}>
<div style={styles.parent}>
{menuOptions.map((page) => <div className={'navBarOption'} style={styles.child} key={page}>{page}</div>)}
</div>
</div>
);
};
ReactDOM.render(
<NavBar/>,
document.getElementById('app')
);
.navBarOption:hover {
color: black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
你是绝对正确的 - 模拟的唯一途径:悬停等选择与内联样式是使用'onMouseEnter'和'onMouseL eave'。关于具体实施 - 完全取决于你。看看你的具体例子,为什么不把' '包装器做成'span'? –
2015-02-06 14:20:18
我会建议使用外部样式表与ExtractText的WebPack插件一起,这将帮助你在更长的运行如果你想ServerRender否则,你可以尝试镭https://github.com/FormidableLabs/radium – abhirathore2006 2016-08-17 14:05:48
目前[样式的组件( https://github.com/styled-components/styled-components)是模拟css/scss在反应中的所有可能性的最佳解决方案。 – 2017-09-25 09:51:11