The additional navigation (Affix) plugin allows a <div> to be pinned somewhere on the page. You can also toggle between turning on or off using the plugin. A common example is social icons. They will start somewhere, but when the page clicks on a mark, the <div> will lock in somewhere and will not scroll along with the rest of the page.
If you want to reference the functionality of the plugin separately, then you need to reference affix.js. Or, as mentioned in the Bootstrap plugin overview chapter, you can refer to bootstrap.js or compressed versions of bootstrap.min.js.
usage
You can use the attached navigation (Affix) plug-in via data properties or via JavaScript.
Through data attributes: If you need to add additional navigation (Affix) behavior to the element, you only need to add data-spy="affix" to the element you need to listen to. Use offsets to define when toggle elements' locking and movement.
Example
The following example demonstrates how to use an additional navigation (Affix) plugin through the data attribute:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Bootstrap Attached Navigation (Affix) Plug-in</title><link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet"><script src="/scripts/jquery.min.js"></script><script src="/bootstrap/js/bootstrap.min.js"></script><style type="text/css">/* Custom Styles */ul.nav-tabs{width: 140px;margin-top: 20px;border-radius: 4px;border: 1px solid #ddd;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067);}ul.nav-tabs li{margin: 0;border-top: 1px solid #ddd;}ul.nav-tabs li:first-child{border-top: none;}ul.nav-tabs li a{margin: 0;padding: 8px 16px;border-radius: 0;}ul.nav-tabs li.active a, ul.nav-tabs li.active a:hover{color: #ffff;background: #0088cc;border: 1px solid #0088cc;}ul.nav-tabs li:first-child a{border-radius: 4px 4px 0 0;}ul.nav-tabs li:last-child a{border-radius: 0 0 4px 4px;}ul.nav-tabs.affix{top: 30px; /* Set the top position of pinned element */}</style></head><body data-spy="scroll" data-target="#myScrollspy"><div><div><h1>Bootstrap Affix</h1></div><div><div id="myScrollspy"><ul data-spy="affix" data-offset-top="125"><li><a href="#section-1">Part 1</a></li><li><a href="#section-2">Part 2</a></li><li><a href="#section-3">Part 3</a></li><li><a href="#section-4">Part 4</a></li><li><a href="#section-5">Part 5</a></li></ul></div><div><h2 id="section-1">Part 1</h2><p>Lorem ipsum dolor sit amet, consistetur apiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget risk. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p><p>Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potentiali. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus autor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo acduis duis quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p><hr><h2 id="section-2">Part 2</h2><p>Nullam hendrerit just non leo aliquet imperdiet. Etiam in sagittis lectus. Suspendisse ultrices placera accumsan. Mauris quis dapibus orci. In dapibus velit blandit pharetra tincidunt. Quisque non sapien nec lacus condimentum facilisis ut iaculis enim. Sed viverra interdum bibendum. Donec ac sollicitudin dolor. Sed fringilla vitae lacus at rutrum. Phasellus congue vestibulum ligula sed consequat.</p><p>Vestibulum consectetur scelerisque lacus, a fermentum lorem convallis sed. Nam odio tortor, dictum quis malesuada at, pellenentesque vitae orci. Vivamus elementum, felis eu autor lobortis, diam velit egestas lacus, quis fermentum metus ante quis urna. Sed at facilisis libero. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum bibendum blandit dolor. Nunc orci dolor, molestie nec nibh in, hendrerit tincidunt ante. Vivamus sem augue, hendrerit non sapien in, mollis ornare augue.</p><hr><h2 id="section-3">Part III</h2><p>Integer pulvinar leo id riskus pelletesque vestibulum. Sed diamond libero, sodales eget sapien vel, porttitor bibendum enim. Donec sed nibh vitae lorem porttitor blandit in nec ante. Pellentesque vitae metus ipsum. Phasellus sed nunc ac sem malesuada condimentum. Etiam in aliquam lectus. Nam vel sapien diam. Donec pharetra id arcu egg blandit. Proin imperdiet mattis augue in porttitor. Quisque tempus enim id lobortis feugiat. Suspendisse tincidunt riskus quis dolor fringilla blandit. Ut sed sapien at purus lacinia porttitor. Nullam iaculis, felis a pretium ornare, dolor nisl semper tortor, vel sagittis lacus est consequat eros. Sed id pretium nisl. Curabitur dolor nisl, laoreet vitae aliquam id, tincidunt sit amet mauris.</p><p>Phasellus vitae suscipit justo. Mauris pharetra feugiat ante id lacinia. Etiam faucibus mauris id tempor egestas. Duis luctus turpis at accumsan tincidunt. Phasellus riskus risk, volutpat vel tellus ac, tincidunt fringilla massa. Etiam hendrerit dolor eget ante rutrum adipiscing. Cras interdum ipsum mattis, tempus mauris vel, semper ipsum. Duis sed dolor ut enim lobortis pelletesque ultricies ac ligula. Pellentesque convallis elit nisi, id vulputate ipsum ullamcorper ut. Cras ac pulvinar purus, ac viverra est. Suspendisse potentiali. Integer pelletsque neque et elementum tempus. Curabitur bibendum in ligula ut rhoncus.</p><p>Quisque pharetra velit id velit iaculis pretium. Nullam a justo sed ligula porta semper eu quis enim. Pellentesque pelentesque, metus at facilisis hendrerit, lectus velit facilisis leo, quis volutpat turpis arcu quis enim. Nulla viverra lorem elementum interdum ultricies. Suspendisse accumsan quam nec ante mollis tempus. Morbi vel accumsan diamond, eget convallis tellus. Suspendisse potentiali.</p><hr><h2 id="section-4">Part 4</h2><p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus sclerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucilibus convallis neque pretium. Maecenas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien autotor. Vestiblum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p><p>Vestiblum quis quam ut magna consequat faucibus. Pellentesque egg nisi a mi suscipit tincidunt. Ut tempus dictum Risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potentiali. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus autor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac dui quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p><p>Phasellus fermentum, neque sit amet sodales tempor, enim ante interdum eros, eget luctus ipsum eros ut ligula. Nunc ornare erat quis faucibus molestie. Proin malesuada consequat commodo. Mauris iaculis, eros ut dapibus luctus, massa enim elementum purus, sit amet tristique purus purus nec felis. Morbi vestibulum sapien eget porta pulvinar. Nam at quam diam. Proin rhoncus, felis elementum accumsan dictum, felis nisi vestibulum tellus, et ultrices risus felis in orci. Quisque vestibulum sem nisl, vel congue leo dictum nec. Cras eget est at velit sagittis ullamcorper vel et lectus. In hac habitasse platea dictumst. Etiam interdum iaculis velit, vel sollicitudin lorem feugiat sit amet. Etiam luctus, quam sed sodales aliquam, lorem libero hendrerit urna, faucibus rhoncus massa nibh at felis. Curabitur ac tempus nulla, ut semper erat. Vivamus porta ullamcorper sem, ornare egestas mauris facilisis id.</p><p>Ut ut riskus nisl. Fusce porttitor eros at magna luctus, non congue nulla eleifend. Aenean porttitor feugiat dolor sit amet facilisis. Pellentesque venenatis magna et riskus commodo, a commodo turpis gravida. Nam mollis massa dapibus urna aliquet, quis iaculis elit sodales. Sed eget ornare orci, eu malesuada justto. Nunc lacus augue, dictum quis dui id, lacinia congue quam. Nulla sem sem, aliquam nec dolor ac, tempus convallis nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla suscipit convallis iaculis. Quisque eget commodo ligula. Praesent leo dui, facilisis quis eleifend in, aliquet vitae nunc. Suspendisse fermentum odio ac massa ultricies pellenentesque. Fusce eu suscipit massa.</p><hr><h2 id="section-5">Part 5</h2><p>Nam eget purus nec est consistetur vehicula. Nullam ultrices nisl risk, in viverra libero egestas sit amet. Etiam porttitor dolor non eros pulvinar malesuada. Vestibulum sit amet est mollis nulla tempus aliquet. Praesent luctus hendrerit arcu non laoreet. Morbi consequat placerat magna, ac ornare odio sagittis sed. Donec vitae ullamcorper purus. Vivamus non metus ac just porta volutpat.</p><p>Vivamus mattis accumsan erat, vel convallis risk pretium nec. Integer nunc nulla, viverra ut sem non, sclerisque vehicula arcu. Fusce bibendum convallis augue sit amet lobortis. Cras porta urna turpis, sodales lobortis purus apiscing id. Maecenas ullamcorper, turpis suscipit pelentesque fringilla, massa lacus pulvinar mi, nec dignissim velit arcu eget purus. Nam at dapibus tellus, eget euismod nisl. Ut eget venenatis sapien. Vivamus vulputate varius mauris, vel varius nisl facilisis ac. Nulla aliquet just a nibh ornare, eu congue neque rutrum.</p><p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus sclerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucibus convallis neque pretium. Maecenas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p><p>Morbi sed fermentum ipsum. Morbi a orci vulputate tortor ornare blandit a quis orci. Donec aliquam sodales gravida. In ut ullamcorper nisi, ac pretium velit. Vestibulum vitae lectus volutpat, consequat lorem sit amet, pulvinar tellus. In tincidunt vel leo eget pulvinar. Curabitur a eros non lacus malesuada aliquam. Praesent et tempus odio. Integer a quam nunc. In hab habitasse platea dictumst. Aliquam porta nibh nulla, et mattis turpis placerat eget. Pellentesque dui diamond, pelentesque vel gravida id, accumsan eu magna. Sed a semper arcu, ut dignissim leo.</p><p>Sed vitae lobortis diam, id molestie magna. Aliquam consequat ipsum quis est dictum ultrices. Aenean nibh velit, fringilla in diam id, blandit hendrerit lacus. Donec vehicula rutrum tells egg fermentum. Pellentesque ac erat et arcu ornare tincidunt. Aliquam erat volutpat. Vivamus lobortis urna quis gravida semper. In condimentum, est a faucibus luctus, mi dolor cursus mi, id vehicula arcu risk a nibh. Pellentesque blandit sapien lacus, vel vehicula nunc feugiat sit amet.</p></div></div></div></body></html>The results are as follows:
Through JavaScript: You can manually add additional navigation (Affix) to an element through JavaScript, as shown below:
$('#myAffix').affix({offset: {top: 100, bottom: function () {return (this.bottom = $('.bs-footer').outerHeight(true))}}})Example
The following example demonstrates how to use an additional navigation (Affix) plugin via JavaScript:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Bootstrap Attached Navigation (Affix) Plug-in</title><link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet"><script src="/scripts/jquery.min.js"></script><script src="/bootstrap/js/bootstrap.min.js"></script><style type="text/css">/* Custom Styles */ul.nav-tabs{width: 140px;margin-top: 20px;border-radius: 4px;border: 1px solid #ddd;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067);}ul.nav-tabs li{margin: 0;border-top: 1px solid #ddd;}ul.nav-tabs li:first-child{border-top: none;}ul.nav-tabs li a{margin: 0;padding: 8px 16px;border-radius: 0;}ul.nav-tabs li.active a, ul.nav-tabs li.active a:hover{color: #ffff;background: #0088cc;border: 1px solid #0088cc;}ul.nav-tabs li:first-child a{border-radius: 4px 4px 0 0;}ul.nav-tabs li:last-child a{border-radius: 0 0 4px 4px;}ul.nav-tabs.affix{top: 30px; /* Set the top position of pinned element */}</style><script type="text/javascript">$(document).ready(function(){$("#myNav").affix({offset: { top: 125 }});});</script></head><body data-spy="scroll" data-target="#myScrollspy"><div><div><h1>Bootstrap Affix</h1></div><div><div id="myScrollspy"><ul id="myNav"><li><a href="#section-1">Part I</a></li><li><a href="#section-2">Part II</a></li><li><a href="#section-3">Part I</a></li><li><a href="#section-4">Part IV</a></li><li><a href="#section-5">Part 5</a></li></ul></div><div><h2 id="section-1">Part 1</h2><p>Lorem ipsum dolor sit amet, consistetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestiblum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget riskus. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p><p>Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum risk. Pellentesque viverra sagittis quam at mattis. Suspendisse potentiali. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus autor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac dui quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p><hr><h2 id="section-2">Part 2</h2><p>Nullam hendrerit just non leo aliquet imperdiet. Etiam in sagittis lectus. Suspendisse ultrices placera accumsan. Mauris quis dapibus orci. In dapibus velit blandit pharetra tincidunt. Quisque non sapien nec lacus condimentum facilisis ut iaculis enim. Sed viverra interdum bibendum. Donec ac sollicitudin dolor. Sed fringilla vitae lacus at rutrum. Phasellus congue vestibulum ligula sed consequat.</p><p>Vestibulum consistetur scelerisque lacus, ac fermentum lorem convallis sed. Nam odio tortor, dictum quis malesuada at, pellenentesque vitae orci. Vivamus elementum, felis eu autor lobortis, diam velit egstas lacus, quis fermentum metus ante quis urna. Sed at facilisis libero. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum bibendum blandit dolor. Nunc orci dolor, molestie nec nibh in, hendrerit tincidunt ante. Vivamus sem augue, hendrerit non sapien in, mollis ornare augue.</p><hr><h2 id="section-3">Part III</h2><p>Integer pulvinar leo id riskus pelletesque vestibulum. Sed diamond libero, sodales eget sapien vel, porttitor bibendum enim. Donec sed nibh vitae lorem porttitor blandit in nec ante. Pellentesque vitae metus ipsum. Phasellus sed nunc ac sem malesuada condimentum. Etiam in aliquam lectus. Nam vel sapien diam. Donec pharetra id arcu egg blandit. Proin imperdiet mattis augue in porttitor. Quisque tempus enim id lobortis feugiat. Suspendisse tincidunt riskus quis dolor fringilla blandit. Ut sed sapien at purus lacinia porttitor. Nullam iaculis, felis a pretium ornare, dolor nisl semper tortor, vel sagittis lacus est consequat eros. Sed id pretium nisl. Curabitur dolor nisl, laoreet vitae aliquam id, tincidunt sit amet mauris.</p><p>Phasellus vitae suscipit justto. Mauris pharetra feugiat ante id lacinia. Etiam faucibus mauris id tempor egest egstas. Duis luctus turpis at accumsan tincidunt. Phasellus riskus riskus, volutpat vel tellus ac, tincidunt fringilla massa. Etiam hendrerit dolor eget ante rutrum adipiscing. Cras interdum ipsum mattis, tempus mauris vel, semper ipsum. Duis sed dolor ut enim lobortis pelletesque ultricies ac ligula. Pellentesque convallis elit nisi, id vulputate ipsum ullamcorper ut. Cras ac pulvinar purus, ac viverra est. Suspendisse potentiali. Integer pelentesque neque et elementum tempus. Curabitur bibendum in ligula ut rhoncus.</p><p>Quisque pharetra velit id velit iaculis pretium. Nullam a just sed ligula porta semper eu quis enim. Pellentesque pelentesque, metus at facilisis hendrerit, lectus velit facilisis leo, quis volutpat turpis arcu quis enim. Nulla viverra lorem elementum interdum ultricies. Suspendisse accumsan quam nec ante mollis tempus. Morbi vel accumsan diamond, eget convallis tellus. Suspendisse potentiali.</p><hr><h2 id="section-4">Part 4</h2><p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus sclerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucibus convallis neque pretium. Maecinas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien autotor. Vestiblum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p><p>Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potentiali. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus autor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac duis quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p><p>Phasellus fermentum, neque sit amet sodales tempor, enim ante interdum eros, eget luctus ipsum eros ut ligula. Nunc ornare erat quis faucibus molestie. Proin malesuada consequat commodo. Mauris iaculis, eros ut dapibus luctus, massa enim elementum purus, sit amet tristique purus purus nec felis. Morbi vestibulum sapien eget porta pulvinar. Nam at quam diam. Proin rhoncus, felis elementum accumsan dictum, felis nisi vestibulum tellus, et ultrices risk felis in orci. Quisque vestibulum sem nisl, vel congue leo dictum nec. Cras eget est at velit sagittis ullamcorper vel et lectus. In hac habitasse platea dictumst. Etiam interdum iaculis velit, vel sollicitudin lorem feugiat sit amet. Etiam luctus, quam sed sodales aliquam, lorem libero hendrerit urna, faucibus rhoncus massa nibh at felis. Curabitur ac tempus nulla, ut semper erat. Vivamus porta ullamcorper sem, ornare egestas mauris facilisis id.</p><p>Ut ut riskus nisl. Fusce porttitor eros at magna luctus, non congue nulla eleifend. Aenean porttitor feugiat dolor sit amet facilisis. Pellentesque venenatis magna et risus commodo, a commodo turpis gravida. Nam mollis massa dapibus urna aliquet, quis iaculis elit sodales. Sed eget ornare orci, eu malesuada justto. Nunc lacus augue, dictum quis dui id, lacinia congue quam. Nulla sem sem, aliquam nec dolor ac, tempus convallis nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla suscipit convallis iaculis. Quisque eget commodo ligula. Praesent leo dui, facilisis quis eleifend in, aliquet vitae nunc. Suspendisse fermentum odio ac massa ultricies pellenentesque. Fusce eu suscipit massa.</p><hr><h2 id="section-5">Part 5</h2><p>Nam eget purus nec est conformetur vehicula. Nullam ultrices nisl risk, in viverra libero egest amet. Etiam porttitor dolor non eros pulvinar malesuada. Vestibulum sit amet est mollis nulla tempus aliquet. Praesent luctus hendrerit arcu non laoreet. Morbi consequat placerat magna, ac ornare odio sagittis sed. Donec vitae ullamcorper purus. Vivamus non metus ac justo porta volutpat.</p><p>Vivamus mattis accumsan erat, vel convallis risk pretium nec. Integer nunc nulla, viverra ut sem non, sclerisque vehicula arcu. Fusce bibendum convallis augue sit amet lobortis. Cras porta urna turpis, sodales lobortis purus apiscing id. Maecenas ullamcorper, turpis suscipit pelentesque fringilla, massa lacus pulvinar mi, nec dignissim velit arcu eget purus. Nam at dapibus tellus, eget euismod nisl. Ut eget venenatis sapien. Vivamus vulputate varius mauris, vel varius nisl facilisis ac. Nulla aliquet just a nibh ornare, eu congue neque rutrum.</p><p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus sclerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucibus convallis neque pretium. Maecenas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien autotor. Vestiblum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p><p>Morbi sed fermentum ipsum. Morbi a orci vulputate tortor ornare blandit a quis orci. Donec aliquam sodales gravida. In ut ullamcorper nisi, ac pretium velit. Vestibulum vitae lectus volutpat, consequat lorem sit amet, pulvinar tellus. In tincidunt vel leo eget pulvinar. Curabitur a eros non lacus malesuada aliquam. Praesent et tempus odio. Integer a quam nunc. In hab habitasse platea dictumst. Aliquam porta nibh nulla, et mattis turpis placerat eget. Pellentesque dui diamond, pellenentesque vel gravida id, accumsan eu magna. Sed a semper arcu, ut dignissim leo.</p><p>Sed vitae lobortis diam, id molestie magna. Aliquam consequat ipsum quis est dictum ultrices. Aenean nibh velit, fringilla in diam id, blandit hendrerit lacus. Donec vehicula rutrum tells egg fermentum. Pellentesque ac erat et arcu ornare tincidunt. Aliquam erat volutpat. Vivamus lobortis urna quis gravida semper. In condimentum, est a faucibus luctus, mi dolor cursus mi, id vehicula arcu risk a nibh. Pellentesque blandit sapien lacus, vel vehicula nunc feugiat sit amet.</p></div></div></body></html>The results are as follows:
Positioning via CSS
In both of the above ways to use the Affix plug-in, you must locate content via CSS. The additional navigation (Affix) plug-in switches between three classes, each of which presents a specific state: .affix, .affix-top, and .affix-bottom. Please follow the steps below to set up your own CSS for these three states (not relying on this plugin).
At the beginning, the plugin adds .affix-top to indicate the element at its topmost position. No CSS positioning is required at this time.
When scrolling through an element where the additional navigation (Affix) is added, the actual additional navigation (Affix) should be triggered. At this time, .affix will replace .affix-top, and set position: fixed; (provided by Bootstrap's CSS code).
If the bottom offset is defined, when the scroll reaches that position, replace .affix with .affix-bottom. Since the offset is optional, if the offset is set, an appropriate CSS is required to be set at the same time. In this case, add position: absolute; if necessary.
Options
There are some options that are passed through data properties or JavaScript. The following table lists these options:
The above is the detailed explanation of the Bootstrap additional navigation (Affix) plug-in example introduced by the editor. I hope it will be helpful to everyone!