我试图在我的一个项目中使用剃刀装饰垂直导航菜单,我试图根据功能添加样式但没有成功,问题是我有子类别和类别都在一个表中,这就是为什么我必须在一个ul内调用所有类别,子类别,然后在悬停,活动,非活动等处装饰它们。下面是代码,任何想法为什么粗体语句不起作用。
<div class="listbox">
<ul class="">
@foreach (var category in Model)
{
<li class="@(category.IsActive ? "active" : "inactive")"
@if (category.NumberOfParentCategories > 0)
{
<text>style="background-image: url('/Content/images/cat-ul-li-list.png');border-bottom-style: solid;border-bottom-width:1px; border-bottom-color: #FFFFFF;font-size: 13px;
text-decoration: none;
padding-top: 4px;
padding-left: 15px;color:#5F9E95;min-height:27px;"</text>
}
**@if (category.NumberOfParentCategories > 0 && category.IsActive == true)
{
<text>style="background-image: url('/Content/images/cat-ul-li-active.png') !Important;"</text>**
}><a href="@Url.RouteUrl("Category", new { categoryId = category.Id, SeName = category.SeName })">@category.Name
</a>
</li><li class="separator"></li>
}
</ul>
</div>
的CSS:
.block-category-navigation .listbox ul .inactive
{
background-image: url('images/cat-rt-arrow.png');
background-repeat: no-repeat;
background-position: left center;
border-bottom-width: 1px;
border-bottom-color: #5F9E95;
border-bottom-style: solid;
padding-left:15px;
min-height:27px;
padding-top:8px;
}
.block-category-navigation .listbox ul li a:hover { color: #404041; }
.block-category-navigation .listbox ul{ background-image: url('images/cat-ul-active.png') !Important; padding-left:15px;min-height:27px; padding-top: 8px;}
可以在测试网站上看到演示:Quadratech
如果可以使用其他方法(如css和jquery)完成此任何建议或帮助,我们将不胜感激。我附上了我正在寻找的图像,其中Haemostasis是下面选择的类别是血红素的子类别。子类别阻力有效,而右下方是其他非活动类别。 :
答案 0 :(得分:1)
您在标记中添加了两个style
属性。
我会把它们合二为一。
稍微清理LI标签的生成。首先进行测试,并将结果存储在一些变量中:
const string STYLEBASE= "border-bottom-style: solid;border-bottom-width:1px; border-bottom-color: #FFFFFF;font-size: 13px;
text-decoration: none;
padding-top: 4px;
padding-left: 15px;color:#5F9E95;min-height:27px;";
var style = "";
var backgroundimage = "";
if (category.NumberOfParentCategories > 0) {
backgroundimage = "background-image: url('/Content/images/cat-ul-li-list.png');";
style = STYLEBASE;
}
if (category.NumberOfParentCategories > 0 && category.IsActive == true) {
// override the background image
backgroundimage = "background-image: url('/Content/images/cat-ul-li-active.png');
}
<li class="@(category.IsActive ? "active" : "inactive")" style="@Html.Raw(style + " " + backgroundimage)" >