<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Evolution Systems &#187; CSS</title>
	<atom:link href="http://evolution-systems.co.uk/category/matts-blog/web-development/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://evolution-systems.co.uk</link>
	<description>Web Development, Software Development and Linux Consultancy services</description>
	<lastBuildDate>Fri, 08 Aug 2025 09:18:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Twitter Bootstrap Navbar and Multiple Level Dropdowns</title>
		<link>http://evolution-systems.co.uk/2012/06/23/twitter-bootstrap-navbar-and-multiple-level-dropdowns/</link>
		<comments>http://evolution-systems.co.uk/2012/06/23/twitter-bootstrap-navbar-and-multiple-level-dropdowns/#comments</comments>
		<pubDate>Sat, 23 Jun 2012 13:03:15 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Matts Blog]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/?p=689</guid>
		<description><![CDATA[Twitter bootstrap is a regular addition to many sites I make at the moment. It has some great features and is extremely simple to use. The first drawback I have found with it though is a lack of support for multiple level dropdowns. These can be quite useful on navbar&#8217;s where you have a lot [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Twitter bootstrap is a regular addition to many sites I make at the moment. It has some great features and is extremely simple to use. The first drawback I have found with it though is a lack of support for multiple level dropdowns. These can be quite useful on navbar&#8217;s where you have a lot of options.</p>
<p>Whilst doing a bit of research into this, I came across this discussion on the bootstrap github page:</p>
<p><a href="https://github.com/twitter/bootstrap/issues/424">https://github.com/twitter/bootstrap/issues/424</a></p>
<p>There are a few additions you can include in the bootstrap CSS file to easily enable support for multi level dropdowns. The CSS is shown below:</p>
<pre class="brush: css; title: ; notranslate">

.nav li.dropdown ul.dropdown-menu li:HOVER ul

{

display:block;

position:absolute;

left:100%;

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

border-radius: 3px;

}

&amp;nbsp;

.nav li.dropdown ul.dropdown-menu ul

{

display: none;

float:right;

position: relative;

top: auto;

margin-top: -30px;

}

&amp;nbsp;

.nav li.dropdown ul.dropdown-menu .dropdown-menu::before

{

content: '';

display: inline-block;

border-top: 7px solid transparent;

border-bottom: 7px solid transparent;

border-right:7px solid #CCC;

border-right-color: rgba(0, 0, 0, 0.2);

position: absolute;

top: 9px;

left: -14px;

}

&amp;nbsp;

.nav li.dropdown ul.dropdown-menu .dropdown-menu::after

{

content: '';

display: inline-block;

border-top: 6px solid transparent;

border-bottom: 6px solid transparent;

border-right:6px solid white;

position: absolute;

top: 10px;

left: -12px;

}

</pre>
<p>Once this has been added you can easily place an extra level of dropdown in your HTML like so:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;ul class=&quot;nav&quot;&gt;

&lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;#&quot;&gt;Regular link&lt;/a&gt;&lt;/li&gt;

&lt;li class=&quot;dropdown&quot; id=&quot;menu1&quot;&gt;

&lt;a class=&quot;dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; href=&quot;#menu1&quot;&gt;

Dropdown

&lt;b class=&quot;caret&quot;&gt;&lt;/b&gt;

&lt;/a&gt;

&lt;ul class=&quot;dropdown-menu&quot;&gt;

&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Action&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Another action&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Something else here&lt;/a&gt;&lt;/li&gt;

&lt;li class=&quot;divider&quot;&gt;&lt;/li&gt;

&lt;li&gt;

&lt;a href=&quot;#&quot;&gt;Separated link&lt;/a&gt;

&lt;ul class=&quot;dropdown-menu&quot;&gt;

&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Sub Menu&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&amp;nbsp;

</pre>
<p>Thanks to all the guys on that thread who posted solutions to this. It has come in very useful.</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">.nav li.dropdown ul.dropdown-menu li:HOVER ul</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>display:block;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>position:absolute;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>left:100%;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>-webkit-border-radius: 3px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>-moz-border-radius: 3px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>border-radius: 3px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">.nav li.dropdown ul.dropdown-menu ul</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>display: none;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>float:right;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>position: relative;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>top: auto;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>margin-top: -30px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">.nav li.dropdown ul.dropdown-menu .dropdown-menu::before</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">content: &#8221;;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">display: inline-block;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-top: 7px solid transparent;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-bottom: 7px solid transparent;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-right:7px solid #CCC;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-right-color: rgba(0, 0, 0, 0.2);</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">position: absolute;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">top: 9px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">left: -14px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">.nav li.dropdown ul.dropdown-menu .dropdown-menu::after</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">content: &#8221;;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">display: inline-block;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-top: 6px solid transparent;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-bottom: 6px solid transparent;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">border-right:6px solid white;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">position: absolute;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">top: 10px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">left: -12px;</div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}.nav li.dropdown ul.dropdown-menu li:HOVER ul&nbsp;</p>
<p>{</p>
<p>display:block;</p>
<p>position:absolute;</p>
<p>left:100%;</p>
<p>-webkit-border-radius: 3px;</p>
<p>-moz-border-radius: 3px;</p>
<p>border-radius: 3px;</p>
<p>}</p>
<p>.nav li.dropdown ul.dropdown-menu ul</p>
<p>{</p>
<p>display: none;</p>
<p>float:right;</p>
<p>position: relative;</p>
<p>top: auto;</p>
<p>margin-top: -30px;</p>
<p>}</p>
<p>.nav li.dropdown ul.dropdown-menu .dropdown-menu::before</p>
<p>{</p>
<p>content: &#8221;;</p>
<p>display: inline-block;</p>
<p>border-top: 7px solid transparent;</p>
<p>border-bottom: 7px solid transparent;</p>
<p>border-right:7px solid #CCC;</p>
<p>border-right-color: rgba(0, 0, 0, 0.2);</p>
<p>position: absolute;</p>
<p>top: 9px;</p>
<p>left: -14px;</p>
<p>}</p>
<p>.nav li.dropdown ul.dropdown-menu .dropdown-menu::after</p>
<p>{</p>
<p>content: &#8221;;</p>
<p>display: inline-block;</p>
<p>border-top: 6px solid transparent;</p>
<p>border-bottom: 6px solid transparent;</p>
<p>border-right:6px solid white;</p>
<p>position: absolute;</p>
<p>top: 10px;</p>
<p>left: -12px;</p>
<p>}</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2012/06/23/twitter-bootstrap-navbar-and-multiple-level-dropdowns/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
