【发布时间】:2013-03-03 05:27:15
【问题描述】:
我正在制作一个网站,我制作了一些按钮并向它们添加了 -webkit-box-flex 属性。它工作得很好。但是,当我向其中一个按钮添加下拉菜单时,-webkit-box-flex 属性不再适用于它们并且它不起作用。谁能告诉我这是怎么回事?
这是一个 jsfiddle:
*{
margin: 0px;
padding: 0px;
}
h1{
font: bold 20px PrimaSans BT;
}
h2{
font: italic 14px PrimaSans BT;
}
header, section, footer, aside, nav, article, hgroup, ul, li{
display: block;
}
#wrapper{
max-width: 1000px;
margin: 20px 0px;
display: -webkit-box;
display: -moz-box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-webkit-box-flex: 1;
-moz-box-flex: 1;
margin-left: auto ;
margin-right: auto ;
}
#searchbox{
float: right;
margin-bottom: 10px;
}
body{
width: 100%;
margin: 0;
display:-moz-box;
-moz-box-pack: center;
display:-webkit-box;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
background-image: -moz-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
background-repeat: no-repeat;
background-attachment: fixed;
}
#navigation{
display: block;
padding: 10px;
margin: 5px;
margin-bottom: 0px;
-webkit-border-radius: 15px;
width: 800px;
height: 60px;
display: -webkit-box;
-webkit-box-orient: horizontal;
display: -moz-box;
-moz-box-orient: horizontal;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
background-image: -moz-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
}
#navigation li:hover ul{
display: block;
}
#navigation ul{
margin: 0px;
padding: 0px;
}
#navigation li{
position: relative;
float: left;
list-style-type: none;
}
#navigation ul:after{
display: block;
clear: both;
visibility: hidden;
}
#navigation li a{
text-decoration: none;
display: block;
color: black;
border-right: 1px solid grey;
padding: 10px 25px;
}
#navigation ul ul{
position: absolute;
border: 20px;
left: 0px;
width: 125px;
display: none;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
}
#navigation ul ul li{
border: 1px solid grey;
width: 99%;
-webkit-transition: background 2s
}
#navigation ul ul li:hover{
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#fffc01), color-stop(1, #ffde00));
}
#navigation ul ul li a{
border-right: none;
}
.navigation_button{
font: bold 18px PrimaSans BT;
-webkit-box-flex: 1;
width: 100px;
padding: 10px;
margin: 10px;
text-align: center;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
background-image: -moz-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#ffffff), color-stop(1, #bababa));
-webkit-border-radius: 10px;
-webkit-transition: -webkit-transform 2s, opacity 2s, background 2s, scale 2s,
}
.navigation_button:hover{
-webkit-transform: scale(1.05);
opacity: 1;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#fffc01), color-stop(1, #ffde00));
background-image: -moz-gradient(linear, left top, left bottom, color-stop(0, `enter code here`#fffc01), color-stop(1, #ffde00));
}
#main_section{
border: 1px solid grey;
width: 750px;
margin-left: 40px;
margin-right: 30px;
border-top: 0px;
height: 800px;
margin-bottom: 10px;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-bottom-left-radius: 10px;
background-color: #f1f1f1;
-webkit-box-flex: 1;
}
.article_1{
border: 1px solid gray;
background: white;
-webkit-box-flex: 1;
margin-left: 10px;
margin-right: 10px;
margin-top: 10px;
padding: 10px;
}
.article_1_footer{
text-align: right;
}
#footer{
text-align: center;
font: italic 12px Times New Roman
}
谢谢!
【问题讨论】:
-
您尝试将
box-flex属性应用于哪个元素?它不在小提琴中。您确实知道这些属性来自正在逐步淘汰的旧规范,对吗? gist.github.com/cimmanon/727c9d558b374d27c5b6 -
我将其添加到 .navigation_button
-
我建议找到一个新策略,而不是使用这个正在逐步淘汰的 flexbox 规范。
-
@AdamMiszczak 您的预期行为是什么?我可以告诉你为什么它什么也没做,但我不知道你最初认为它会做什么。
-
好吧,就像所有其他具有 flex-box 属性的元素一样,我希望这些框的大小能够填满它们所在的 div 的所有空间。但是,在将下拉菜单系统添加到其中一个盒子,它会停止这样做。