[英]Some of my Media Queries Work, Other's do not, No Idea Why
Like the title states, I have a number of media queries and only some of them work. 像标题状态一样,我有很多媒体查询,但只有其中一些有效。 They all follow the same principal, at a certain screen width hide one thing and replace it with another. 它们都遵循相同的原理,在一定的屏幕宽度下隐藏一件事,然后用另一件事替换它。
I am using React.js, Redux, React-Materialize and Express.js. 我正在使用React.js,Redux,React-Materialize和Express.js。 Below I have included all 3 relevant files of code, Nav.jsx, SideNav.jsx and the relevant media queries. 下面,我包括了所有3个相关的代码文件Nav.jsx,SideNav.jsx和相关的媒体查询。
Nav.jsx Nav.jsx
Note: 注意:
Focus on className='sidenav' , className='nav-menu' for what doesn't work Focus on className='space', id='nav-title1' and id='nav-title2' for what does work 专注于className ='sidenav',className ='nav-menu'来解决无效的内容专注于className ='space',id ='nav-title1'和id ='nav-title2'来解决问题
import React, { Component } from 'react';
import { Navbar, NavItem, Row, Col, Dropdown, Button } from 'react-materialize';
import SideNavv from './SideNav.jsx';
class Nav extends Component {
render() {
return (
<Row>
<div className='blue darken-2 white-text'>
<a href="#" id='nav-title1' className="nav-title brand-logo white-text">Late File Tax Return Specialists</a>
<a href="#" id='nav-title2' className="nav-title brand-logo white-text">Late File Specialists</a>
<nav left className='blue darken-2 white-text' id='nav'>
<SideNavv className='sidenav'/>
<Dropdown className='nav-menu' trigger={
<Col className='blue white-text nav-menu'>About Our Firm</Col>
}>
<NavItem className='blue white-text nav-menu'>###-###-####</NavItem>
<NavItem className='blue white-text nav-menu'>email</NavItem>
<NavItem className='blue white-text nav-menu'>address</NavItem>
</Dropdown>
<Col className='space'>a</Col>
<Dropdown className='nav-menu' trigger={
<Col className='blue white-text nav-menu'>Available Tax Services</Col>
}>
<NavItem className='blue white-text nav-menu'>###-###-####</NavItem>
<NavItem className='blue white-text nav-menu'>email</NavItem>
<NavItem className='blue white-text nav-menu'>address</NavItem>
</Dropdown>
<Col className='space'>a</Col>
<Dropdown className='nav-menu' trigger={
<Col className='blue white-text nav-menu'>Business / Individuals</Col>
}>
<NavItem className='blue white-text nav-menu'>###-###-####</NavItem>
<NavItem className='blue white-text nav-menu'>email</NavItem>
<NavItem className='blue white-text nav-menu'>address</NavItem>
</Dropdown>
<Col className='space'>a</Col>
<Dropdown className='nav-menu' trigger={
<Col className='blue white-text nav-menu'>Resources</Col>
}>
<NavItem className='blue white-text nav-menu'>###-###-####</NavItem>
<NavItem className='blue white-text nav-menu'>email</NavItem>
<NavItem className='blue white-text nav-menu'>address</NavItem>
</Dropdown>
<Col className='space'>a</Col>
<Dropdown className='nav-menu' trigger={
<Col className='blue white-text nav-menu'>Get In Touch With Us</Col>
}>
<NavItem className='blue white-text nav-menu'>###-###-####</NavItem>
<NavItem className='blue white-text nav-menu'>email</NavItem>
<NavItem className='blue white-text nav-menu'>address</NavItem>
</Dropdown>
</nav>
</div>
</Row>
)
}
}
export default Nav;
SideNav.jsx SideNav.jsx
Note: 注意:
Focus on id='open-sidebar' for what doesn't work 专注于id ='open-sidebar'无效的内容
import React, { Component } from 'react';
import { SideNav, SideNavItem, Button } from 'react-materialize';
class SideNavv extends Component {
render() {
return (
<SideNav
trigger={<Button id='open-sidebar' icon='menu'></Button>}
options={{ closeOnClick: true }}
>
<SideNavItem userView
user={{
background: 'public/concert.jpg',
image: 'public/mic.jpg',
name: 'John Doe',
email: 'example@gmail.com'
}}
/>
<SideNavItem waves href='#!' icon='info_outline'>About Our Firm</SideNavItem>
<SideNavItem waves href='#!' icon='description'>Available Tax Services</SideNavItem>
<SideNavItem waves href='#!' icon='perm_identity'>Business / Individuals</SideNavItem>
<SideNavItem waves href='#!' icon='language'>Resources</SideNavItem>
<SideNavItem waves href='#!' icon='contacts'>Get In Touch With Us</SideNavItem>
</SideNav>
)
}
}
export default SideNavv;
Media Queries 媒体查询
Note: @media .space works but even though it is in the same query, .nav-menu does not 注意:@media .space有效,但是即使在同一查询中,.nav-menu也不起作用
@media #nav-title1 and #nav-title2 is a perfect example that works @media#nav-title1和#nav-title2是一个很好的例子
@media #open-sidebar and .sidenav (which are really the same thing) do not work at all @media#open-sidebar和.sidenav(实际上是同一件事)根本不起作用
#nav-title1 {
display: none;
transition: 300ms;
}
@media (max-width : 799px) {
#nav-title2 {
display: none;
transition: 300ms;
}
#nav-title1 {
display: initial;
transition: 300ms;
}
}
.nav-menu, .space {
display: initial !important;
transition: 300ms;
}
@media (max-width: 850px) {
.space, .nav-menu {
display: none !important;
transition: 300ms;
}
}
#open-sidebar, .sidenav {
visibility: visible;
transition: 300ms;
}
@media (min-width: 800) {
#open-sidebar, .sidenav {
visibility: hidden;
transition: 300ms;
}
}
通过查看CSS代码,似乎最后一个媒体查询在800
的末尾没有"px"
。
Refer to this comment by Lev, 请参阅列夫的评论,
Hey, I have compiled this code and reviewed it and It works properly. 嘿,我已经编译了这段代码并对其进行了审核,它可以正常工作。 I think the reason why you are confused is because react-materialize library is creating additional div, that acts as trigger div/btn that your css is not targeting. 我认为您感到困惑的原因是因为react-materialize库正在创建其他div,该div用作您的css未定位的触发器div / btn。 In other words you are only targeting .nav-menu, .space but not the additional markup that react outputs. 换句话说,您仅针对.nav-menu,.space,而不针对反应输出的其他标记。 If you inspect your code you will see this div that comes before nav-menu and it does not have the same classes. 如果您检查代码,则会看到该菜单位于nav-menu之前,并且它没有相同的类。 Available Tax Services – lev yesterday 可用的税收服务–昨天征收
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.