为Drawer-AppBar材质UI设置CSS ReactJS
问题描述:
当我部署我的导航栏时,组件PieDePagina移动到底部144px(因为它在STYLE.contentStyleActive中定义),这是由于此CSS修改,但我不不知道如何解决它。为Drawer-AppBar材质UI设置CSS ReactJS
和其他问题..我怎样才能设置一个钙参数函数的CSS参数? (在我的const STYLES中我有属性TOP,我希望它是:numberOfMenuItems * -48px)。
另一个问题:如何在const STYLE中使用JQuery设置param height = $('。contenedor')。heigh()(一个依赖其他参数的参数)?
这是我AppBar +抽屉的代码:
import React from 'react';
import AppBar from 'material-ui/AppBar';
import Drawer from 'material-ui/Drawer';
import MenuItem from 'material-ui/MenuItem';
import IconButton from 'material-ui/IconButton';
import NavigationMenu from 'material-ui/svg-icons/navigation/menu';
import NavigationClose from 'material-ui/svg-icons/navigation/close';
/*
import IconButton from 'material-ui/IconButton';
import NavigationClose from 'material-ui/svg-icons/navigation/close';
import FlatButton from 'material-ui/FlatButton';
*/
const STYLES = {
title: {
cursor: 'pointer'
},
titleStyle: {
textAlign: 'center'
},
displayMenuTrue: {
position: 'relative'
},
displayMenuFalse: {
display: 'none'
},
contentStyle: {
transition: 'margin-left 450ms cubic-bezier(0.23, 1, 0.32, 1)',
marginLeft: '0px',
top: '0px'
},
contentStyleActive: {
marginLeft: '256px',
position: 'relative',
top: '-144px'
}
};
export default class MenuAlumno extends React.Component {
constructor() {
super();
this.state = {
drawerOpen:false
}
}
handleTouchTap =() => {
//alert('Has clickado sobre el título');
/*
console.log(this.state.abierto)
this.setState({
abierto:true
});
*/
console.log(this.state.drawerOpen)
this.state.drawerOpen = true;
console.log(this.state.drawerOpen)
}
controlMenu =() => {
if (this.state.drawerOpen) {
console.log(this.state.drawerOpen)
this.setState({
drawerOpen: false
});
$('.contenedor').css(STYLES.contentStyle);
} else {
console.log(this.state.drawerOpen)
this.setState({
drawerOpen: true
});
$('.contenedor').css(STYLES.contentStyle).css(STYLES.contentStyleActive);
}
}
render() {
return (
<div>
<AppBar
title={<span style={STYLES.title}>- PLATAFORMA DE
INCIDENCIAS -</span>}
onTitleTouchTap={this.handleTouchTap}
titleStyle={STYLES.titleStyle}
iconElementLeft={this.state.drawerOpen ? <IconButton>
<NavigationClose/></IconButton> : <IconButton><NavigationMenu/></IconButton>}
onLeftIconButtonTouchTap={this.controlMenu}
/>
<Drawer
open={this.state.drawerOpen}
containerStyle={this.state.drawerOpen ?
STYLES.displayMenuTrue : STYLES.displayMenuFalse}
>
<MenuItem>Menu Item</MenuItem>
<MenuItem>Menu Item</MenuItem>
<MenuItem>Menu Item</MenuItem>
</Drawer>
</div>
);
}
}
这是我输入我的组件(称为MenuAlumno),它也表示PieDePagina,其移动到144px页面底部的组件:
render() {
return (
<div>
<Cabecera/>
<MenuAlumno/>
<div class="contenedor">
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
<br/>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
</div>
<PieDePagina/>
</div>
);
谢谢大家。