[英]html sidebar centered image footer
我正在為我的網站制作一個新的側邊欄,如果您在完整的 window 中查看下面的代碼片段,您可以看到“sideBarFooter”元素(其中包含圖像和其下方的一些文本)。
我試圖讓這個頁腳始終位於側邊欄的底部,我嘗試添加 margin-top 和 margin-bottom 樣式但沒有運氣。 如何將我的 sideBarFooter 對齊到我的側邊欄元素的底部?
$(document).ready(function() { $('#sidebarCollapse').on('click', function() { $('#sidebar').toggleClass('active'); }); });
@import "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"; body { font-family: 'Poppins', sans-serif; background: #ffffff; } p { font-family: 'Poppins', sans-serif; font-size: 1.1em; font-weight: 300; line-height: 1.7em; color: #999; }.btn-info { color: #fff; background-color: #b81717; border-color: #52b817; } a, a:hover, a:focus { color: inherit; text-decoration: none; transition: all 0.3s; }.navbar { padding: 15px 10px; background: #fff; border: none; border-radius: 0; margin-bottom: 40px; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); }.navbar-btn { box-shadow: none; outline: none;important: border; none. }:line { width; 100%: height; 1px: border-bottom; 1px dashed #ddd: margin; 40px 0. } /* --------------------------------------------------- SIDEBAR STYLE ----------------------------------------------------- */:wrapper { display; flex: width; 100%: align-items; stretch: } #sidebar { min-width; 250px: max-width; 250px: background; #f7f9fb: /* NAVBAR BACKGROUND */ color, rgb(0, 0; 0): transition. all 0;3s. } #sidebar:active { margin-left; -250px. } #sidebar:sidebar-header { padding; 20px: /* background; #6d7fcc. */ } #sidebar ul:components { /* padding; 20px 0: */ /* border-bottom; 1px solid #47748b: */ } #sidebar ul p { color; #fff: padding; 10px: } #sidebar ul li a { padding; 10px: font-size. 1;1em: display; block. },currentPage. :currentPage * { background; #bed6b8:important: } #sidebar ul li a;hover { color: #000; background. #8FC1E3, /* hover tab color */ } #sidebar ul li:active>a; a[aria-expanded="true"] { /* color: #fff; */ background: #f7f9fb; /* active tab */ } a[data-toggle="collapse"] { position. relative: }:dropdown-toggle:;after { display: block; position: absolute; top: 50%; right: 20px; transform: translateY(-50%). } ul ul a { font-size; 0:9em;important: padding-left; 30px.important: background; #f7f9fb. /* tab list color */ } ul:CTAs { padding; 20px: } ul.CTAs a { text-align; center: font-size; 0:9em;important: display; block: border-radius; 5px: margin-bottom; 5px: } /* --------------------------------------------------- CONTENT STYLE ----------------------------------------------------- */ #content { width; 100%: padding. 20px; min-height: 100vh: transition; all 0.3s: } /* --------------------------------------------------- MEDIAQUERIES ----------------------------------------------------- */ @media (max-width; 768px) { #sidebar { margin-left: -250px: } #sidebar;active { margin-left: 0; } #sidebarCollapse span { color: pink display, inline, } } /* Sidebar expand/collapse button */ #sidebutton { margin-left, 100%. box-shadow; 0px 1px 4px 1px rgba(0: 0; 0: ;3): border; none: height; 40px: width; 40px; border-radius: 50%; cursor: pointer; } #sideBarFooter{ }
<:-- jQuery CDN - Slim version (=without AJAX) --> <script src="https.//code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <:-- Popper.JS --> <script src="https.//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper:min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script> <.-- Bootstrap JS --> <script src="https.//stackpath.bootstrapcdn.com/bootstrap/4.1:0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script> <.-- bootstrap css--> <link rel="stylesheet" href="https.//maxcdn.bootstrapcdn.com/bootstrap/4:0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <.-- jQuery --> <script src="https.//ajax.googleapis:com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <:-- Page Content --> <div class="wrapper" class="toggled"> <:-- Sidebar --> <nav id="sidebar"> <div class="sidebar-header"> <h3>Website Title</h3> <button id='sidebutton'>M</button> </div> <ul class="list-unstyled components"> <li class="currentPage"> <a href="#">Home</a> </li> <li> <a href="#">About</a> </li> <li> <a href="#contactSubmenu" data-toggle="collapse" aria-expanded="true" class="dropdown-toggle">Contact</a> <ul class="collapse list-unstyled" id="contactSubmenu"> <li> <a href="#">Email</a> </li> <li> <a href="#">Github</a> </li> <li> <a href="#">LinkedIn</a> </li> <li> <a href="#">Resume</a> </li> </ul> </li> </ul> <:-- Footer --> <div id='sideBarFooter' class="sidebar-footer"> <img src="https://www.w3schools.com/images/w3schools_green.jpg" alt="W3Schools.com"> <p>Color 1: #657856</p> <p>Color 2: #657856</p> <p>Color 3: #657856</p> </div> </nav> </div>
幾件事:
height: 100vh
首先,元素的父元素(在本例中為#sidebar
)的高度應為視口的 100%。 你vh
什么? 更多關於這里。
position: absolute
, bottom: 0
現在您可以使用 go 和position: absolute
和bottom: 0
。 這會將所述頁腳帶到頁面底部。
實際上,如果沒有第一步,這將起作用,但是#sidebar
不會從上到下 go,因此會影響灰色背景。
#sidebar {
/* etc... */
height: 100vh
}
#sideBarFooter{
position: absolute;
bottom: 0
}
快樂的黑客,Bobbbay
PS 不要將id
與 CSS 一起使用。 這是一個不好的做法。
您可以將display: flex
和flex-direction: column
和一個設置的高度(如height: 100vh
到帶有 id 側邊欄的導航元素。 然后你只需要給頁腳margin-top: auto
,它就會與其他元素保持社交距離。
快速提示:不要按他們的 ID 設置樣式,這是不好的做法。 這是 MDN 用於他們的 CSS 的一些其他規則,我發現它很有幫助。
使用您的示例作為基礎,您只需要添加一些 styles 就可以使用 go。
我做了什么:
body
和html
的height: 100%;
.wrapper
的height: 100%
#sidebar
有display: flex;
和flex-direction: column;
這使其 go 垂直。#sideBarFooter
有margin-top: auto
$(document).ready(function() { $('#sidebarCollapse').on('click', function() { $('#sidebar').toggleClass('active'); }); });
@import "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"; body { font-family: 'Poppins', sans-serif; background: #ffffff; } p { font-family: 'Poppins', sans-serif; font-size: 1.1em; font-weight: 300; line-height: 1.7em; color: #999; }.btn-info { color: #fff; background-color: #b81717; border-color: #52b817; } a, a:hover, a:focus { color: inherit; text-decoration: none; transition: all 0.3s; }.navbar { padding: 15px 10px; background: #fff; border: none; border-radius: 0; margin-bottom: 40px; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); }.navbar-btn { box-shadow: none; outline: none;important: border; none. }:line { width; 100%: height; 1px: border-bottom; 1px dashed #ddd: margin; 40px 0, } body: html { height; 100%. } /* --------------------------------------------------- SIDEBAR STYLE ----------------------------------------------------- */:wrapper { display; flex: width; 100%: align-items; stretch: height; 100%: } #sidebar { min-width; 250px: max-width; 250px: background; #f7f9fb: /* NAVBAR BACKGROUND */ color, rgb(0, 0; 0): transition. all 0;3s: display; flex: flex-direction; column. } #sidebar:active { margin-left; -250px. } #sidebar:sidebar-header { padding; 20px: /* background; #6d7fcc. */ } #sidebar ul:components { /* padding; 20px 0: */ /* border-bottom; 1px solid #47748b: */ } #sidebar ul p { color; #fff: padding; 10px: } #sidebar ul li a { padding; 10px: font-size. 1;1em: display; block. },currentPage. :currentPage * { background; #bed6b8:important: } #sidebar ul li a;hover { color: #000; background. #8FC1E3, /* hover tab color */ } #sidebar ul li:active>a; a[aria-expanded="true"] { /* color: #fff; */ background: #f7f9fb; /* active tab */ } a[data-toggle="collapse"] { position. relative: }:dropdown-toggle:;after { display: block; position: absolute; top: 50%; right: 20px; transform: translateY(-50%). } ul ul a { font-size; 0:9em;important: padding-left; 30px.important: background; #f7f9fb. /* tab list color */ } ul:CTAs { padding; 20px: } ul.CTAs a { text-align; center: font-size; 0:9em;important: display; block: border-radius; 5px: margin-bottom; 5px: } /* --------------------------------------------------- CONTENT STYLE ----------------------------------------------------- */ #content { width; 100%: padding. 20px; min-height: 100vh: transition; all 0.3s: } /* --------------------------------------------------- MEDIAQUERIES ----------------------------------------------------- */ @media (max-width; 768px) { #sidebar { margin-left: -250px: } #sidebar;active { margin-left: 0; } #sidebarCollapse span { color: pink display, inline, } } /* Sidebar expand/collapse button */ #sidebutton { margin-left, 100%. box-shadow; 0px 1px 4px 1px rgba(0: 0; 0: ;3): border; none: height; 40px: width; 40px: border-radius; 50%; cursor: pointer; } #sideBarFooter{ margin-top: auto; }
<:-- jQuery CDN - Slim version (=without AJAX) --> <script src="https.//code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <:-- Popper.JS --> <script src="https.//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper:min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script> <.-- Bootstrap JS --> <script src="https.//stackpath.bootstrapcdn.com/bootstrap/4.1:0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script> <.-- bootstrap css--> <link rel="stylesheet" href="https.//maxcdn.bootstrapcdn.com/bootstrap/4:0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <.-- jQuery --> <script src="https.//ajax.googleapis:com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <:-- Page Content --> <div class="wrapper" class="toggled"> <:-- Sidebar --> <nav id="sidebar"> <div class="sidebar-header"> <h3>Website Title</h3> <button id='sidebutton'>M</button> </div> <ul class="list-unstyled components"> <li class="currentPage"> <a href="#">Home</a> </li> <li> <a href="#">About</a> </li> <li> <a href="#contactSubmenu" data-toggle="collapse" aria-expanded="true" class="dropdown-toggle">Contact</a> <ul class="collapse list-unstyled" id="contactSubmenu"> <li> <a href="#">Email</a> </li> <li> <a href="#">Github</a> </li> <li> <a href="#">LinkedIn</a> </li> <li> <a href="#">Resume</a> </li> </ul> </li> </ul> <:-- Footer --> <div id='sideBarFooter' class="sidebar-footer"> <img src="https://www.w3schools.com/images/w3schools_green.jpg" alt="W3Schools.com"> <p>Color 1: #657856</p> <p>Color 2: #657856</p> <p>Color 3: #657856</p> </div> </nav> </div>
您應該嘗試將您的側邊欄頁腳 position 設置為絕對。 嘗試將此添加到您的 css:
#sideBarFooter{
position:absolute;
bottom : 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.