我试图与这些前提粘性页脚调整(用“translatedY”子元素)柔性页脚位置:在响应网站
- 页脚位置:固定;用户添加
- 多少孩子.SUB菜单项(可能会发生变化)
- 媒体查询(即改变字体大小)
- 的字体 - :
- 其全局的高度,根据变化大小(其在视口单元归因“VW”)
有迹象表明,改变字体大小两个特定媒体实例:
- 一个媒体查询设备/屏幕娄980px
- ,一个用于设备/屏幕上方1550px
我想总是定位页脚在页面的底部,而focing其子元素出现在它上面。但是.sub菜单项的数量迫使页脚高度增长;就好像这还不够,视口宽度正在改变字体大小,这也会影响元素的高度。
h1 {
font-size: 4vw;
letter-spacing: 0.02em;
}
h2, h3, ul.sub-menu {
\t font-size:2.3vw;
\t line-height: 1.4em;
\t color: black;
}
.footermenu {
bottom:0vh;
left:0vw;
position: fixed;
width: 95vw;
padding-right: 5vw;
\t height: 55vh; /*this seems to help but it is not reliable enough*/
\t z-index:999;
}
.footermenu ul {
justify-content: space-between;
display: flex;
}
.menu-item > ul.sub-menu {
padding: 1vh;
text-align: center;
flex-direction: column;
opacity: 1;
transition: 0.5s ease-out;
}
.menu > .menu-item:not(:first-child):not(:last-child), .menu-item:not(:first-child):not(:last-child) > ul.sub-menu {
text-align: center !important;
flex: 0 1 33%;
-webkit-flex: 0 1 33%;
}
.menu > .menu-item:first-child, .menu-item:first-child > ul.sub-menu {
text-align: left !important;
flex: 0 1 33%;
-webkit-flex: 0 1 33%;
}
.menu > .menu-item:last-child, .menu-item:last-child > ul.sub-menu {
text-align: right !important;
flex: 0 1 33%;
-webkit-flex: 0 1 33%;
}
/* from here on I am translating the sub-menu items up */
.footermenu .menu-item:not(:first-child):not(:last-child) > ul.sub-menu {
-webkit-transform: translateY(calc(-100% - 15vh));
transform: translateY(calc(-100% - 15vh));
}
.footermenu .menu-item:first-child > ul.sub-menu {
-webkit-transform: translateY(calc(-100% - 15vh));
transform: translateY(calc(-100% - 15vh));
}
.footermenu .menu-item:last-child > ul.sub-menu {
-webkit-transform: translateY(calc(-100% - 15vh));
transform: translateY(calc(-100% - 15vh));
}
@media screen and (max-width: 980px) {
\t h1 \t {
\t font-size:6vw;
\t \t letter-spacing: 0.02em;
\t \t }
\t h2, h3, ul.sub-menu a {
\t \t font-size:3.6vw;
\t \t line-height: 1.2em;
\t \t color: black;
\t \t }
\t
\t #content {
\t \t margin: auto;
\t \t width: 68vw
\t \t margin-top: 25vh;
\t \t }
}
@media screen and (min-width: 1550px) {
\t h1 \t {
\t font-size:3.5vw;
letter-spacing: 0.02em;
\t \t }
\t h2, h3, ul.sub-menu a {
\t \t font-size:2.3vw;
\t \t line-height: 1.2em;
\t \t color: black;
\t \t }
\t .post .entry-content {
\t \t margin-top: 1.5em;
\t \t text-align:left;
\t \t -webkit-column-count:1; /* Chrome, Safari, Opera */
\t \t -moz-column-count: 1; /* Firefox */
\t \t column-count: 1;
\t \t }
\t .footermenu {
\t \t z-index:999; \t \t
\t \t height: 18vh!important; /*I am trying to fix the problem like this but as said before this is not safe */
\t \t }
.post .entry-content {
\t -webkit-column-count: 3; /* Chrome, Safari, Opera */
\t -moz-column-count: 3; /* Firefox */
\t column-count: 3;
\t } \t
\t #content {
\t margin: auto;
\t width: 68vw;
\t margin-top: 25vh;
\t }
}
<div id="footer">
<h1>
<div class="footermenu">
<ul id="menu-footer-menu" class="menu">
<li class="menu-item"><a href="url_4">Contact</a>
<ul class="sub-menu">
<li class="menu-item"><a href="url_6_a">More Landscapes</a></li>
<li class="menu-item"><a href="url_6_b">Collection</a></li></ul>
</li>
<li class="menu-item"><a href="url_5">Links</a>
<ul class="sub-menu">
<li class="menu-item"><a href="url_6_a">More Landscapes</a></li>
<li class="menu-item"><a href="url_6_b">Collection</a></li>
<li class="menu-item"><a href="url_6_c">Brave New</a></li>
<li class="menu-item"><a href="url_6_d">Line Three</a></li>
<li class="menu-item"><a href="url_6_e">Mary's World</a></li>
</ul>
</li>
<li class="menu-item"><a href="url_6">About</a>
<ul class="sub-menu">
<li class="menu-item"><a href="url_6_a">More Landscapes</a></li>
<li class="menu-item"><a href="url_6_b">Collection</a></li>
<li class="menu-item"><a href="url_6_c">Brave New</a></li>
<li class="menu-item"><a href="url_6_d">Line Three</a></li>
<li class="menu-item"><a href="url_6_e">Mary's World</a></li>
</ul>
</li>
</ul>
</div>
</h1>
</div><!-- end of #footer -->
不知你能不能帮我始终放置在相同的位置页脚中,无论在和菜单项,视口尺寸和字体大小的数量?
对于wordpress引擎的php方法也很受欢迎。 总而言之: 我试图改变我的页脚菜单的HTML顺序,以这样一种方式父菜单项出现在其子元素之后。我已经使用CSS“transform:translateY(n)”来完成它,但是这并不能完全解决我的问题,因为这种方法有太多变量。 非常感谢。
这就是它。非常感谢你。 –