簡體   English   中英

html 側邊欄居中圖像頁腳

[英]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: absolutebottom: 0

現在您可以使用 go 和position: absolutebottom: 0 這會將所述頁腳帶到頁面底部。

為什么要邁出第一步?

實際上,如果沒有第一步,這將起作用,但是#sidebar不會從上到下 go,因此會影響灰色背景。

#sidebar {
  /* etc... */
  height: 100vh
}
#sideBarFooter{
  position: absolute;
  bottom: 0
}

工作示例

快樂的黑客,Bobbbay

PS 不要將id與 CSS 一起使用。 這是一個不好的做法。

您可以將display: flexflex-direction: column和一個設置的高度(如height: 100vh到帶有 id 側邊欄的導航元素。 然后你只需要給頁腳margin-top: auto ,它就會與其他元素保持社交距離。

快速提示:不要按他們的 ID 設置樣式,這是不好的做法。 這是 MDN 用於他們的 CSS 的一些其他規則,我發現它很有幫助。

使用您的示例作為基礎,您只需要添加一些 styles 就可以使用 go。

我做了什么:

  1. bodyhtmlheight: 100%;
  2. .wrapperheight: 100%
  3. #sidebardisplay: flex; flex-direction: column; 這使其 go 垂直。
  4. #sideBarFootermargin-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM