I am coding the following in Bootstrap 3.0 and MVC 5. I am trying to get Submenus to work. I referenced navbar documentation but I can't get the Billing and Payment structure to be a sub dropdown menu with this structure:
Account Info
License Details
Billing and Payment
Invoices
Payments
Billing
Users
User Settings
Here is my HTML. I need to replace the anchor tag on Billing Payment. What do I put in its place?
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>#Html.ActionLink("Home", "Index", "Home")</li>
<li>#Html.ActionLink("About", "About", "Home")</li>
<li>#Html.ActionLink("Free Trial Setup", "Trial", "Home")</li>
<li class="dropdown">
Account Info
<ul class="dropdown-menu">
<li>#Html.ActionLink("License Details", "License", "Home" )</li>
<li class="dropdown-submenu"></li>
Billing and Payment
<li>#Html.ActionLink("Invoices", "Invoices", "Home")</li>
<li>#Html.ActionLink("Payments", "Payments", "Home")</li>
<li>#Html.ActionLink("Billing Information", "Billing", "Home")</li>
</ul>
<li>User Settings</li>
</ul>
</li>
</ul>
#Html.Partial("_LoginPartial")
</div>
</div>
Based on the solution mentioned in snippet you have to do the following:
Add following to your Site.css file
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #ccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
border-left-color: #fff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
then change your code in the _Layout.cshtml to be:
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>#Html.ActionLink("Home", "Index", "Home")</li>
<li>#Html.ActionLink("About", "About", "Home")</li>
<li>#Html.ActionLink("Free Trial Setup", "Trial", "Home")</li>
<li class="dropdown">
Account Info
<ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu">
<li>#Html.ActionLink("License Details", "License", "Home")</li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Billing and Payment</a>
<ul class="dropdown-menu">
<li>#Html.ActionLink("Invoices", "Invoices", "Home")</li>
<li>#Html.ActionLink("Payments", "Payments", "Home")</li>
<li>#Html.ActionLink("Billing Information", "Billing", "Home")</li>
<li class="dropdown-submenu">
Users
<ul class="dropdown-menu">
<li>User Settings</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
#Html.Partial("_LoginPartial")
</div>
Related
Here's the normal size and view of the menu
And this is the view after reducing the size
I mean in the second view the dropdowns should be listed downhills. But in the small navbar, it only adds the hamburger button. The others remains the same.
(I cencored the corporative names. The shapes don't mean anything.)
Here are the codes i use for layout.
Layout.cshtml
<nav class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav" id="menu">
<li>
<img src="~/Content/logo.png" alt="Ana Sayfa" />
</li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown">Yönetim</a>
<ul class="dropdown-menu">
<li class="dropdown dropdown-submenu"><a class="dropdown-toggle" data-toggle="dropdown">Dosya Yükleme/Güncelleme</a>
<ul class="dropdown-menu">
<!-- moving the UL to the next line will cause an IE7 problem -->
<li>#Html.ActionLink("Cost Margin Yükleme", "Index", "CostMarginUpload")</li>
<li>#Html.ActionLink("EK5 Tarife Yükleme", "Index", "EK5TariffUpload")</li>
<li>#Html.ActionLink("ETS Sourcing Cost Yükleme", "Index", "ETSSourcingUpload")</li>
<li>#Html.ActionLink("ETS Sourcing Cost Tablosu Güncelleme", "Index", "ETSSourcingCost")</li>
</ul>
</li>
<li>#Html.ActionLink("Kullanıcı İşlemleri", "Index", "Users")</li>
<li class="dropdown dropdown-submenu"><a class="dropdown-toggle" data-toggle="dropdown">Parametresi Güncelleme</a>
<ul class="dropdown-menu">
<!-- moving the UL to the next line will cause an IE7 problem -->
<li>#Html.ActionLink("Bölge Güncelleme", "Index", "Region")</li>
<li>#Html.ActionLink("Bağlantı Tipi Güncelleme", "Index", "ConnectionTypes")</li>
<li>#Html.ActionLink("Tarife Grubu Güncelleme", "Index", "TariffGroup")</li>
<li>#Html.ActionLink("Profil Güncelleme", "Index", "Profile")</li>
<li>#Html.ActionLink("Parametreler Tablosu Güncelleme", "Index", "Parameters")</li>
<li>#Html.ActionLink("Zam Öngörüsü Girişi", "Index", "PriceIncreaseEstimates")</li>
</ul>
</li>
</ul>
</li>
<li>#Html.ActionLink("Müşteri İşlemleri", "Index", "Customers")</li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown">Fiyatlandırma İşlemleri</a>
<ul class="dropdown-menu">
<li class="dropdown dropdown-submenu"><a class="dropdown-toggle" data-toggle="dropdown">Fiyatlandırma</a>
<ul class="dropdown-menu">
<!-- moving the UL to the next line will cause an IE7 problem -->
<li>#Html.ActionLink("Tekli Fiyatlandırma", "Index", "SinglePricing")</li>
<li>#Html.ActionLink("Çoklu Fiyatlandırma", "Index", "MultiPricing")</li>
<li>#Html.ActionLink("İhale İçin Fiyatlandırma", "Index", "TenderPricing")</li>
</ul>
</li>
<li>#Html.ActionLink("Teklif Görüntüleme", "Index", "OfferView")</li>
<li class="dropdown dropdown-submenu"><a class="dropdown-toggle" data-toggle="dropdown">Teklif Performans Bilgileri</a>
<ul class="dropdown-menu">
<!-- moving the UL to the next line will cause an IE7 problem -->
<li>#Html.ActionLink("Teklif Performans Bilgisi Görüntüleme", "Index", "PerformanceView")</li>
<li>#Html.ActionLink("Teklif Performans Bilgisi Sıralama", "Index", "PerformanceRank")</li>
</ul>
</li>
</ul>
</li>
<li style="float:right">
#User.Identity.Name
</li>
</ul>
</div>
</div>
</nav>
Scripts
#Scripts.Render("~/bundles/modernizr")
#Scripts.Render("~/bundles/kendo-js")
#Styles.Render("~/bundles/kendo-css")
#Scripts.Render("~/bundles/bootstrap")
#Styles.Render("~/Content/css")
#RenderSection("scripts", required: false)
<script src="Scripts/respond.min.js"></script>
<script>
$(document).ready(function () {
$("#menu").kendoMenu();
$(document.body).css("visibility", "visible");
$('ul.dropdown-menu [data-toggle=dropdown]').on('click', function (event) {
event.preventDefault();
event.stopPropagation();
$(this).parent().siblings().removeClass('open');
$(this).parent().toggleClass('open');f
});
});
</script>
Styles
html {
background-color: #eeeeee;
margin: 0px;
padding: 0px;
}
body {
visibility: hidden;
}
#menu h2 {
font-size: 1em;
text-transform: uppercase;
}
#template img {
float: left;
}
#template {
width: 380px;
}
.nav > li {
position: relative;
display: block;
}
.navbar-inverse {
background-color: #eeeeee;
}
.navbar-nav {
float: none;
}
.marginBottom-0 {
margin-bottom: 0;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
border-left-color: #555;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
EDIT: you are using the library KendoMenu and it possibly adding class (and CSS) into your menu div.
In order to keep li into display block you can use the following code
.nav > li
{
position: relative !important;
display: block !important;
}
The !important; will lock this CSS property from any future changes.
I'm trying to create a Listview that contains a mix of buttons and links. Is there any additions/adjustments I can make to the markup to have buttons appear the same as links? At this stage, I'm trying to do as much as I can in markup and not custom CSS (or JS!)
The markup I'm using is:
<ul data-role="listview" data-inset="true">
<li>Edit</li>
<li>
<form action="#">
<button type="submit">Publish</button>
</form>
</li>
<li>
<form action="#">
<button type="submit">Delete</button>
</form>
</li>
</ul>
What I'd like is this:
(source: reb4.me)
I only seem able to get this:
(source: reb4.me)
Here is a way to do it.
jQM 1.4
To get the arrow icons on the right, add the classes ui-btn ui-btn-icon-right ui-icon-carat-r to the buttons:
<ul data-role="listview" data-inset="true">
<li>Edit
</li>
<li>
<form action="#">
<button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Publish</button>
</form>
</li>
<li>
<form action="#">
<button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Delete</button>
</form>
</li>
</ul>
Then to remove the extra padding, borders, shadows etc. add this CSS:
.ui-li-static {
padding: 0 !important;
}
.ui-li-static form button {
margin: 0;
box-shadow: none !important;
border: 0;
text-align: left;
}
Here is a DEMO
jQM 1.3
If you are stuck with jQM 1.3 it is a little more complicated:
<ul data-role="listview" data-inset="true">
<li>Edit
</li>
<li>
<form action="#">
<button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Publish</button>
</form>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow fakeLinkIcon"> </span>
</li>
<li>
<form action="#">
<button type="submit" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Delete</button>
</form>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow fakeLinkIcon"> </span>
</li>
</ul>
.ui-li-static {
padding: 0 !important;
}
.fakeLinkIcon {
position: absolute;
right: 10px;
top: 50%;
margin-top: -9px;
}
.ui-li-static form div.ui-submit{
padding-right: 2.5em;
}
.ui-li-static form div.ui-submit {
margin: 0;
box-shadow: none !important;
border: 0;
text-align: left;
border-radius: 0;
}
.ui-li-static form div.ui-submit .ui-btn-inner{
padding-left: 15px;
}
.ui-last-child form div.ui-submit {
border-bottom-right-radius: 16px;
border-bottom-left-radius: 16px;
}
.ui-first-child form div.ui-submit {
border-top-right-radius: 16px;
border-top-left-radius: 16px;
}
DEMO
Hello I am making a footer:
<div id="footer">
<ul>
<li id="qualifications">
<h4>Professional qualifications</h4>
<p>Name<br>
Chartered Veterinary Physiotherapist<br>
Chartered Physiotherapist<br>
BSc HONS MCSP<br>
Post Grad Dip (vet phys) ACPAT CAT A
</p>
</li>
<li id="logos">
<h4>head
</h4>
<img src="/" />
</li>
<li id="contact">
<h4>Contact and referal</h4>
<p>Contact</p>
<p><a id="referal">Referal Form</a></p>
</li>
</ul>
</div> <!---footer---->
I want the footer div to be 100% width so I can colour it. I want the ul to be 960px wide and the li elements to lign up next to on another in a inline-block. css:
#footer {
background-color:#666666;
#footer ul {
width:960px;
margin-left: auto ;
margin-right: auto ;
}
#footer li {
width: 320px;
display:inline-block;
}
But the li elements knock the last one underneath the first two and ther's odd spacing at the top.
Any help would be great!
reduce the number lines in professional qualification...
reduce the width of li...
and always use float left to solve the alignment problems
<!--<html>
<head>
<link rel="stylesheet" href="so.css"/>
</head><body>
<div id="header"></div>
<div id="footer">
<ul>
<li id="qualifications">
<h4>Professional qualifications</h4>
<p>Name<br>
Chartered Veterinary Physiotherapist<br>
</p>
</li>
<li id="logos">
<h4>head
</h4>
<img src="/" />
</li>
<li id="contact">
<h4>Contact and referal</h4>
<p>Contact</p>
<p><a id="referal">Referal Form</a></p>
</li>
</ul>
</div></body></html>-->
#header{
height:80%;
width:100%;
}
#footer {
background-color:#666666;
width:100%;
height:20%;
}
#footer ul {
width:960px;
margin-left: auto ;
margin-right: auto ;
height:100%;
}
#footer li {
width: 300px;
display: inline-block;
height: 100%;
float: left;
}
You can use this code
body {
margin: 0;
padding: 0;
}
#footer {
background-color: #666666;
clear: both;
width: 100%;
float: left;
margin: 0;
padding: 30px 0;
}
#footer ul {
width:960px;
margin: 0 auto;
padding: 0;
text-align: left;
}
#footer li {
width: 320px;
display:inline-block;
float: left;
}
<div id="footer">
<ul>
<li id="qualifications">
<h4>Professional qualifications</h4>
<p>Name<br>
Chartered Veterinary Physiotherapist<br>
Chartered Physiotherapist<br>
BSc HONS MCSP<br>
Post Grad Dip (vet phys) ACPAT CAT A
</p>
</li>
<li id="logos">
<h4>head</h4>
<img src="/" />
</li>
<li id="contact">
<h4>Contact and referal</h4>
<p>Contact</p>
<p><a id="referal">Referal Form</a></p>
</li>
</ul>
</div>
I have made a 3D cube, and when you click on some element on the cube, a div (larger than the cube) is displayed on top of the cube. In this div are some links – the problem is, that the parts of the links that are exactly above the cube, doesn’t work. The parts of the links that are not above the cube (they are further to the right or left) work perfectly fine as links. I am using z-index to position the layers, and I simply can’t figure out what is wrong. If anyone has a suggestion, I would very much appreciate it.
I added my code below - it is very extensive, so I tried to leave out the elements that shouldn't be related to the issue. I don't think that the script should be the issue either, but I added the code related to the elements just in case.
Thanks
HTML:
<ul id="cube">
<li class='face' id="facecubeone"></li>
<li class='face' id="facecubetwo"></li>
<li class='face' id="facecubethree"></li>
<li class='face' id="facecubefour">
<ul class="cube2 low oneleft" id="cubefour1">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high twoleft" id="cubefour2">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high threeleft activefour active" id="cubefour3">
<li><img id="mig" src="img/cvbillede.jpg" width="100%" height="100%" alt="ABOUT ME"></img></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high fourleft activefour active" id="cubefour4">
<li></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high fiveleft" id="cubefour5">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 low sixleft" id="cubefour6">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 low sevenleft" id="cubefour7">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high eightleft" id="cubefour8">
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
<ul class="cube2 high nineleft activefour active" id="cubefour9">
<li></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
<li class='square'></li>
</ul>
</li>
<li class='face'></li>
<li class='face'></li>
</ul>
<div id="myprojects">
<div class="projects" id="projectme">
<img class="exit" src="img/exit.png" alt="exit"></img>
<div class="projecttext">
<p class="titles">About me</p>
<p class="descriptions" id="">
TEXT
</p>
<div class="links" id="">LINK TO RESUME - only part of it works<br>LINK TO LINKEDIN PROFILE</div>
</div>
<img class="projectimages" id="" src="img/cvbillede.jpg" width="310px" height="310px" alt="pictureofme"></img>
</div>
</div>
CSS:
#cube {
position: fixed;
clear: both;
z-index: 900;
padding: 0;
width: 350px; height: 350px;
list-style: none;
/* centering */
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
-webkit-transform: rotate3d(-10, 30, -4, 47.5deg);
-webkit-transform-style: preserve-3d;
-webkit-animation: ani 8s infinite linear; }
.cube2 {
position: relative;
/*z-index: 901;*/
float: left;
margin: 0px;
padding: 0;
width: 116.63px; height: 116.63px;
list-style: none;}
.face, #face {
box-sizing: border-box;
position: absolute;
top: 50%; left: 50%;
margin: -175px;
width: 350px; height: 350px;
background: black; }
.square {
box-sizing: border-box;
position: absolute;
margin-top: 0px;
margin-left: 0px;
padding: 0em;
width: 116.63px; height: 116.63px;
padding-top: 2.5px;
background-color: black;}
#myprojects {
clear: both;
position: absolute;
z-index: 9990;
width: 700px;
height: 400px;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
display: none;}
.projects {
position: relative;
z-index: 9991;
width: 680px;
height: 380px;
padding: 10px;
display: none;
border: 2px solid black;
background: rgb(68,68,68); /* Old browsers */}
.exit {
width: 20px;
height: 20px;
float: right;}
.projecttext {
clear: both;
position: relative;
z-index: 9992;
margin-top: 0px;
float: left;
height: 350px;
width: 370px;}
.titles {
margin-top: 0px;}
.descriptions {
margin-right: 10px;
height: 220px;
text-align: justify;}
.links a{
position: relative;
line-height: 26px;
z-index: 9999;}
.links a:hover {
}
.projectimages {
margin-top: 43px;
float: right;
width: 310px;}
SCRIPT:
$(function(){
var visible = false;
$('.exit').click(function(){
$('#myprojects').fadeOut(1500);
$('.projects').fadeOut(1500);
$('.square').attr('href', '#');
$(".activenone").addClass('active');
$(".active").removeClass('activenone');
visible = false;
});
$('#cubefour3').click(function(){
if (visible == false) {
$('#myprojects').fadeIn(1500);
$('#projectme').fadeIn(1500);
$('.square').removeAttr("href");
$(".active").addClass('activenone');
$(".activenone").removeClass('active');
visible = true;
}
});
});
So I finally got it working :)
I had applyed a transformation to each of the 6 sides in the cube in other to make it appear like 3d, like e.g. so:
.face:nth-child(6) {
-webkit-transform: rotateX(-90deg) translateZ(175px);
-moz-transform: rotateY(-90deg) translateZ(175px);
-ms-transform: rotateY(-90deg) translateZ(175px);
-o-transform: rotateY(-90deg) translateZ(175px);
transform: rotateY(-90deg) translateZ(175px);
}
The translateZ somehow overruled the div I had placed on top of it, so the links didn't work. (I have no explanation of this though). I then applyed a transformation on the new div, like so:
.projects {
-webkit-transform: translateZ(275px);
-moz-transform: translateZ(275px);
-ms-transform: translateZ(275px);
-o-transform:translateZ(275px);
transform: translateZ(275px);
}
Amazingly it seems to be working now :)
I am trying to load two instances of jQuery UI selectable, but there seems to be an issue with the second one. How can I solve this?
Here is my code: http://jsfiddle.net/3pKQf/1/
HTML
Div 1
<div id="div1">
<ul id="selectable">
<li class="ui-state-default">1</li>
<li class="ui-state-default">2</li>
<li class="ui-state-default">3</li>
<li class="ui-state-default">4</li>
<li class="ui-state-default">5</li>
<li class="ui-state-default">6</li>
<li class="ui-state-default">7</li>
<li class="ui-state-default">8</li>
<li class="ui-state-default">9</li>
<li class="ui-state-default">10</li>
<li class="ui-state-default">11</li>
<li class="ui-state-default">12</li>
<li class="ui-state-default">13</li>
<li class="ui-state-default">14</li>
<li class="ui-state-default">15</li>
</ul>
</div><br><br>
Div 2
<div id="div2">
<ul id="selectable">
<li class="ui-state-default">1</li>
<li class="ui-state-default">2</li>
<li class="ui-state-default">3</li>
<li class="ui-state-default">4</li>
<li class="ui-state-default">5</li>
<li class="ui-state-default">6</li>
<li class="ui-state-default">7</li>
<li class="ui-state-default">8</li>
<li class="ui-state-default">9</li>
<li class="ui-state-default">10</li>
<li class="ui-state-default">11</li>
<li class="ui-state-default">12</li>
<li class="ui-state-default">13</li>
<li class="ui-state-default">14</li>
<li class="ui-state-default">15</li>
</ul>
</div>
CSS
#selectable .ui-selecting {
background: #C41C7B;
}
#selectable .ui-selected {
background: #C41C7B;
color: white;
}
#selectable {
list-style-type: none;
margin: 0;
padding: 0;
width: 450px;
}
#selectable li {
margin: 0px;
padding: 3px;
float: left;
width: 16px;
height: 16px;
font-size: 10px;
font-family: Arial;
text-align: center;
}
JavaScript
$(function() {
$("#selectable").bind('mousedown', function (e) {
e.metaKey = true;
}).selectable();
});
They need different id's. Both are #selectable.
Here's a working update using a class .selectable. http://jsfiddle.net/3pKQf/4/