我不完全确定CSS可以实现这一点,但我知道它与Jquery有关。如果只能用CSS,我会很感激帮助,因为我根本不懂Jquery。
我希望在800px处创建一个断点。我需要在此断点处隐藏除徽标之外的所有li项目。如何对徽标进行例外处理,这也是一个项目?
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li,
span {
margin: 0px;
padding: 0px;
}
h1 {
margin: 0 0 14px 0;
}
h2 {
margin: 0 0 10px 0;
}
.wht {
color: #fff;
}
.clear {
clear: both;
}
/*Vivid Page Settings*/
header {
width: 100%;
background-color: #fff;
border-bottom: #000 1px solid;
}
.vd-hide {
display: none;
}
.vd-settings-wrapper {
width: 15%;
max-width: 200px;
}
.vd-user-settings {
width: 48px;
height: 48px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 12px 2px 0 21px;
}
.vd-currency-selector {
width: 58px;
height: 21px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 12px 2px 1px 2px;
}
.vd-language-selector {
width: 58px;
height: 21px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 3px 2px 0 2px;
}
/*Vivid Main Navigation*/
.vd-navigation-wrapper {
display: flex;
}
.vd-nav-wrapper {
display: flex;
justify-content: center;
align-items: center;
width: 75%;
height: 78px;
margin: 0 auto;
text-align: center;
}
.vd-nav-wrapper ul {
font-family: 'Montserrat', sans-serif;
/* text-align: center; */
list-style: none;
padding: 0;
margin: 0;
}
.vd-nav-wrapper li {
text-decoration: none;
list-style: none;
display: inline-block;
margin: 25px 20px;
vertical-align: middle;
}
.vd-nav-wrapper a {
text-decoration: none;
list-style: none;
display: inline-block;
margin: 18px 20px;
vertical-align: middle;
}
.vd-logo-img {
margin: 0px;
padding: 0px;
}
/*Vivid Checkout Settings*/
.vd-cart-wrapper {
width: 10%;
z-index: 10;
}
.vd-cart-selector {
width: 48px;
height: 48px;
border: 1px solid #000;
background-color: #fff;
margin: -11px 31px 0 2px;
position: absolute;
top: 23px;
right: -9px;
}
<div class="vd-navigation-wrapper">
<div class="vd-settings-wrapper">
<div class="vd-user-settings">
</div>
<div class="vd-currency-selector">
</div>
<div class="vd-language-selector">
</div>
</div>
<div class="vd-nav-wrapper">
<ul>
<li>Shop</li>
<li>About</li>
<li class="vd-logo-img"><img src="img/vivid_logo.png"/></li>
<li>Lookbook</li>
<li>Contact</li>
</ul>
</div>
<div class="vd-cart-wrapper">
<div class="vd-cart-selector"></div>
</div>
</div>
答案 0 :(得分:4)
这是您需要的选择器。我认为这是自我解释的:
.vd-navigation-wrapper li:not(.vd-logo-img) {
display: none;
}
编辑感谢Hajji Tark指出Edge和FF不支持:not()
选择器。解决方法是为所有display:none
设置li
并覆盖异常:
.vd-navigation-wrapper li {
display: none;
}
.vd-navigation-wrapper .vd-logo-img {
display: block; /* use inline-block or list-item if appropriate */
}
未了解您的@media
查询要求。如果您需要帮助,请告诉我。基本上你需要将它包装在
@media (min-width: 800px) { /* rules here */ }
或
@media (max-width: 800px) { /* rules here */ }
如果您想要800px
(等于)的特定案例,您可以使用
@media (min-width: 800px) and (max-width: 800px){ /* rules here */ }
答案 1 :(得分:1)
在你的Css中:
.vd-nav-wrapper li { display: none )
.vd-logo-img { display: initial }
答案 2 :(得分:1)
@media only screen and ( max-width: 800px ) {
li[class!="vd-logo-img"] { display: none; }
}
Media Queries
在这里,我使用CSS媒体查询来确定页面文档的当前大小,如果它达到800px,那么样式将应用于文档。
Selector
我使用属性选择器定位除<li>
之外的所有<li class="vd-logo-img">
元素,其类等于&#34; vd-logo-img&#34;
答案 3 :(得分:0)
另一种选择:
.vd-navigation-wrapper li {
display: none;
}
.vd-navigation-wrapper li.vd-logo-img {
display: block;
}
这是可能的,因为CSS应用了更严格的规则。
答案 4 :(得分:0)
您可以使用css media query和:not()技巧隐藏没有徽标的所有li。 请参阅css部分。 Live On Fiddle适用于所有浏览器。
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li,
span {
margin: 0px;
padding: 0px;
}
h1 {
margin: 0 0 14px 0;
}
h2 {
margin: 0 0 10px 0;
}
.wht {
color: #fff;
}
.clear {
clear: both;
}
/*Vivid Page Settings*/
header {
width: 100%;
background-color: #fff;
border-bottom: #000 1px solid;
}
.vd-hide {
display: none;
}
.vd-settings-wrapper {
width: 15%;
max-width: 200px;
}
.vd-user-settings {
width: 48px;
height: 48px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 12px 2px 0 21px;
}
.vd-currency-selector {
width: 58px;
height: 21px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 12px 2px 1px 2px;
}
.vd-language-selector {
width: 58px;
height: 21px;
border: 1px solid #000;
background-color: #fff;
float: left;
margin: 3px 2px 0 2px;
}
/*Vivid Main Navigation*/
.vd-navigation-wrapper {
display: flex;
}
.vd-nav-wrapper {
display: flex;
justify-content: center;
align-items: center;
width: 75%;
height: 78px;
margin: 0 auto;
text-align: center;
}
.vd-nav-wrapper ul {
font-family: 'Montserrat', sans-serif;
/* text-align: center; */
list-style: none;
padding: 0;
margin: 0;
}
.vd-nav-wrapper li {
text-decoration: none;
list-style: none;
display: inline-block;
margin: 25px 20px;
vertical-align: middle;
}
.vd-nav-wrapper a {
text-decoration: none;
list-style: none;
display: inline-block;
margin: 18px 20px;
vertical-align: middle;
}
.vd-logo-img {
margin: 0px;
padding: 0px;
}
/*Vivid Checkout Settings*/
.vd-cart-wrapper {
width: 10%;
z-index: 10;
}
.vd-cart-selector {
width: 48px;
height: 48px;
border: 1px solid #000;
background-color: #fff;
margin: -11px 31px 0 2px;
position: absolute;
top: 23px;
right: -9px;
}
@media only screen and (max-width:800px) {
.vd-nav-wrapper ul li:not(.vd-logo-img){
display: none;
}
}
<div class="vd-navigation-wrapper">
<div class="vd-settings-wrapper">
<div class="vd-user-settings">
</div>
<div class="vd-currency-selector">
</div>
<div class="vd-language-selector">
</div>
</div>
<div class="vd-nav-wrapper">
<ul>
<li>Shop</li>
<li>About</li>
<li class="vd-logo-img"><img src="img/vivid_logo.png" /></li>
<li>Lookbook</li>
<li>Contact</li>
</ul>
</div>
<div class="vd-cart-wrapper">
<div class="vd-cart-selector"></div>
</div>
</div>