生成输出url时,使用CSS来控制超链接的格式
在前文《生成输出url》中的第5点,介绍了使用ActionLink生成输出url中指定html标签属性。
例如,
假设Global.asax中的路由定义为:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute("MyRoute", "{controller}/{action}/{id}",
new { Controller = "Home", Action = "Index", id = UrlParameter.Optional },
new[] { "_11_3URLTestDemo.Controllers" });
}
在Views/Home/Index.cshtml里有如下对ActionLink的使用,来生成输出url:
<p>
@Html.ActionLink("HomePage", "Index", "Home")
</p> <p>
@Html.ActionLink("HyperLink with attribute", "Index", "Home", null, new { id="myAnchorID", @class = "redlink" })
</p>
根据路由,反向推导出两个ActionLink生成的url。
第一个ActionLink生成的html为:
<p>
<a href="/">HomePage</a>
</p>
第二个ActionLink生成的html为:
<p>
<a class="redlink" href="/" id="myAnchorID">HyperLink with attribute</a>
</p>
显然,生成的第一个html中标签<a>使用的样式为默认的标签a的样式。
生成的第二个html中标签<a>使用的样式,就指定类名为"redlink"的样式。
这些层叠样式定义在什么地方?因为MVC中Views/Shared/_Layout.cshtml是所有视图的公共文件:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
</head> <body>
@RenderBody()
</body>
</html>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />通过这句话使用了一个外部层叠样式表文件,位置在"~/Content/Site.css"。所以,如果要自定义层叠样式,就可以在Site.css中文件添加定义,这样也方便统一管理。
打开Site.css,在文件最后面添加如下定义:
/*自定义测试例子
-----------------------------------------------------------*/
p{ font-size: 22px;} a:link{
color: #000000;
text-decoration: none;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #ff7f24;
text-decoration: underline;
}
a:active {
color: #ff7f24;
text-decoration: underline;
} .redlink{
color:#FF0000;
text-decoration:none;
} .redlink:visited{
color:#FF0000;
text-decoration:none;
} .redlink:hover{
color:#000000;
text-decoration:underline;
background:#FFFFFF;
}
新添加的样式中,定义了标签p,指定了<p></p>中字体为22px。
定义了标签<a>的默认样式,a:link{}、a:visited{}、a:hover{}、a:active{}。因为这个定义是放在文件末尾,只要没有使用其它类,那么在使用标签a时,<a></a>里面的样式就由这个默认样式决定。注意它们的顺序不是任意的,一般要遵循LoVe HAte(爱与恨)的顺序。
在<a>的默认样式后面,定义了指定类别的超链接样式,这里定义的类别名字叫redlink,注意格式,是用点号开头,而且link这个伪类名可以不写出来。
这样,在使用<a>标签时,指定了class="redlink"的,就使用redlink中定义的样式。
没有指定类别的,就用默认样式。
-lyj
生成输出url时,使用CSS来控制超链接的格式的更多相关文章
- 生成输出url
继续使用前面的例子11-3URLTestDemo,修改Global.asax中的RegisterRoutes方法如下: public static void RegisterRoutes(RouteC ...
- 生成输出 URL(16.2)
1.在视图中生成输出 URL 几乎在每一个 MVC 框架应用程序中,你都会希望让用户能够从一个视图导航到另一个视图 —— 通常的做法是在第一个视图中生成一个指向第二个视图的链接,该链接以第二个视图的动 ...
- yii2.0 输出url 注册js css文件
//输出url <a href="<?= Url::to(['/users/login/login','id'=>5,'mark'=>true]) ?>&qu ...
- mvc 生成输出url
最近一直在学习mvc,其中对于 Url.Action生成的url感到很困惑.官方的解释的基于路由方案生成的url.问题是,怎样基于,怎样选择,没有过多的解释.网上找了很多资料,也看不懂,最后还是在pr ...
- 生成链接中的全限定URL(Generating Fully Qualified URLs in Links) | 在视图中生成输出URL | 高级路由特性
结果:<a class="myCSSClass"href="https://myserver.mydomain.com/Home/Index/MyId#myFrag ...
- 指定HTML标签属性 |Specifying HTML Attributes| 在视图中生成输出URL |高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
结果呢: <a class="myCSSClass" href="/" id="myAnchorID">This is an o ...
- 传递额外的值 Passing Extra Values |在视图中生成输出URL | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
结果呢 <a href="/App/DoCustomVariable?id=Hello">This is an outgoing URL</a> 理解片段变 ...
- 用路由系统生成输出URL 在视图中生成输出URL 高级路由特性 精通ASP-NET-MVC-5-弗瑞曼
Using the Routing System to Generate an Outgoing URL 结果呢:<a href="/Home/CustomVariable" ...
- 根据指定路由生成URL |Generating a URL from a Specific Route | 在视图中生成输出URL|高级路由特性
后面Length=5 是怎么出现的?
随机推荐
- Hadoop Eclipse远程连接出现:Error:Call to /10.10.10.10:9000 failed on local exception: java.io.EOFException
异常截图:
- 在webstrorm中配置好es6 babel
第一步,新建一个项目,我这里建立了基于express 的node项目 第二步:将JavaScript语言版本切换为ECMAScript6 点击File —>settings,弹出设置框.把js的 ...
- hadoop笔记之MapReduce原理
MapReduce原理 MapReduce原理 简单来说就是,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce). 例子: 100GB的网站访问日志文件,找出访问次数最多的I ...
- 深入A标签点击触发事件而不跳转的详解
本文介绍下,当点击A标签时,触发事件但不跳转的实现方法,有需要的朋友参考下吧. 点击页面上的空链接,点击后页面自动刷新,并会定位到页面顶端. 不过,有时需要点击#页面但不作跳转,可以这样写: < ...
- 加载loading的ajax写法
ajaxStart()与ajaxStop():当Ajax请求开始时,会触发ajaxStart()方法的回调函数.当Ajax请求结束时,会触发ajaxStop()方法的回调函数.这些方法都是全局的方法, ...
- cocos2d-x -------之笔记篇 3D动作说明
CCShaky3D::create(时间,晃动网格大小,晃动范围,Z轴是否晃动); //创建一个3D晃动的效果 CCShakyTiles3D::create(时间,晃动网格大小,晃动范围,Z轴是 ...
- Confluent
Confluent介绍(一) 最开始接触confluent是通过这篇博客,How to Build a Scalable ETL Pipeline with Kafka Connect,对于做大数 ...
- JDBC笔记
简介 JDBC是Java规定的访问数据库的API,目前主流的数据库都支持JDBC.使用JDBC访问不同的数据库时需要安装不同的驱动. JDBC定义了数据库的链接,SQL语句的执行以及查询结果集的遍历等 ...
- c reference
1,函数:strdup复制字符串函数原型定义:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s字符串相同的空间大小,然后将参数s ...
- 截取字符串一之substr
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...