HTML和CSS设置动态导航以及CSS中伪元素的简单说明
HTML页面代码:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery.js"></script>
<script 1type="text/javascript"> </script>
</head>
<body>
<div id="navigator">
<ul id="navList">
<li><a href="#" class="menu">首页</a></li>
<li><a href="#" class="menu">新随笔</a></li>
<li><a href="#" class="menu">订阅</a></li>
<li><a href="#" class="menu">管理</a></li>
</ul>
</div>
</body>
</html>
CSS样式代码:
a:link {
color: black;
text-decoration: none; /*设置链接无需下划线*/
}
#navigator{
background-color:#AEAEAE;
position:absolute;
left:50%;
margin-left:-200px;
/*bottom:0px;*/
/*width:400px;*/
height:80px;
}
#navList{
min-height:80px;
overflow:hidden;
}
#navList li{
float:left;
list-style:none; /*设置无需无序元素前默认的黑点*/
}
#navList a{
display:block;
width:100px;
height:80px;
line-height:80px;
font-size:16px;
text-align:center;
position:relative;
-webkit-transition:all .4s;
}
#navList a:after,#navList a:before{ /*CSS中,E:after表示伪元素,多用于设置div之间的间隙*/
position:absolute;
display:block;
bottom:2px;
opacity:; /*隐藏文字两边的中括号*/
-webkit-transition:all .4s;
}
#navList a:after{
content:"]";
right:20px;
}
#navList a:before{
content:"[";
left:20px;
}
#navList a:link,#navList a:visited,/*设置超链接已经被访问过时的样式*/#navList a:active{
color:#eee;
}
#navList a:hover{
color:#f62459;
text-decoration:none;
}
#navList a:hover:after{
right:0px;
opacity:;
}
#navList a:hover:before{
left:0px;
opacity:;
}
显示效果如下:

当鼠标停留在导航栏的链接上时,文字两旁会显示红色中括号。
CSS中伪元素说明

以上页面代码如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>单列定宽单列自适应结构</title>
<style>
/*设置页面中所有元素的内外补丁为0,便于便捷的页面布局*/
*{
margin:0;
padding:0;
}
/*设置头部信息以及底部信息的高度为30px,并添加浅灰色背景*/
#header,#footer{
height:30px;
background-color:#e8e8e8;
}
/*设置页面内容区域上下外补丁为10px*/
#container{
margin:10px 0;
}
/*设置主要内容区域的宽度为70%,背景色以及文本颜色,并居左显示*/
.mainBox{
float:left;/*将主要内容区域向左浮动*/
width:70%;/*将mainBox的宽度修改为70%*/
color:#ff0000;
background-color:#333333;
}
/*设置侧边栏的宽度为200px,背景色以及文本颜色,并居右显示*/
.sideBox{
float:right;/*将侧边栏向右浮动*/
width:200px;/*将sideBox的宽度修改为200px*/
margin-left:-200px;/*添加负边距使sideBox向左浮动缩进,就是当浏览器窗口变小任然不改变sideBox的大小,这时sideBox就会插入到旁边的mainBox里,而如果没有设置,窗口变小时就会换行打乱下面的布局*/
color:#ffffff;/*设置文本颜色*/
background-color:#999999; /*设置背景颜色*/
}
/*清除内容区域的左右浮动,本段重点理解一下(after是什么意思)*/
#container:after{
display:block;
visibility:hidden;
font-size:0;
line-height:0;
clear:both;
content:"";
}
/*添加地步信息的对上级标签元素的浮动的清除*/
#footer{
clear:both;
}
</style>
</head>
<body>
<div id="header">头部信息</div>
<div id="container">
<div class="mainBox">
<p>主要内容区域</p>
<p>已经不再只是一行文字了</p>
<p>要放很多很多东西到这个区域中来</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
<p>不断的重复啊重复着……</p>
</div>
<div class="sideBox">侧边栏</div>
</div>
<div id="footer">底部信息</div>
</body>
</html>
这段代码多了红色部分;现将红色部分代码注释,显示页面如图所示:

可见当没有红色代码部分时,底部信息和主要内容部分紧紧贴在一起,之间没有空隙。
|
#container:after{ display:block; visibility:hidden; font-size:0; line-height:0; clear:both; content:""; } |
这段代码中的#container:after是针对一个伪元素进行CSS样式设置,HTML页面并没有这样一个div存在。
after是在元素后面的意思,实质是在元素之后添加内容。
这个伪元素允许在元素内容的最后面插入生成内容,需要和content属性一起使用,设置在对象后发生的内容。默认地,这个伪元素是inline行内元素,不过可以使用属性 display 改变这一点。
HTML和CSS设置动态导航以及CSS中伪元素的简单说明的更多相关文章
- 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法
× 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...
- css中伪元素before或after中content的特殊用法attr
html代码如下: <div class="haorooms"> <span data-haorooms="haorooms鼠标效果tips-纯css& ...
- CSS魔法堂:一起玩透伪元素和Content属性
前言 继上篇<CSS魔法堂:稍稍深入伪类选择器>记录完伪类后,我自然而然要向伪元素伸出"魔掌"的啦^_^.本文讲讲述伪元素以及功能强大的Contet属性,让我们可以通 ...
- css中伪元素before或after中content的特殊用法attr【转】
[原文]https://segmentfault.com/a/1190000002750033 CSS中主要的伪元素有四个:before/after/first-letter/first-line,在 ...
- IE8中伪元素动态作用样式不重绘bug记录
前阵子对公司框架的前端优化中,使用了字体图标(iconfont)来做模块的图标集,供用户进行配置选择. 字体图标的有非常好的灵活性和复用性,可以像处理文字一样通过font-size进行大小设置.通过c ...
- CSS 设置背景透明度,不影响子元素
由于 opacity 属性能被子元素继承,使用它设置父元素背景透明度时也会影响子元素. 解决方法: 1> 使用 RGBA Example .classname { /* RGBa, 透明度0.6 ...
- 原生CSS设置网站主题色—CSS变量赋值
定义CSS变量 在css文件顶部定义css变量,注意必须以--开头,使用:root包括这几个变量 :root { --main-bg-color: #ff7675; --color1: #fbfee9 ...
- .NET Web后台动态加载Css、JS 文件,换肤方案
后台动态加载文件代码: //假设css文件:TestCss.css #region 动态加载css文件 public void AddCss() { HtmlGenericControl _CssFi ...
- Jquery 设置class 和 div CSS
Jquery 设置class 和 div CSS 1 Jquery 根据标签内容获取标签div,从而修改该div CLASS //追加 $('label:contains("labelcon ...
随机推荐
- docker help
localhost == 127.0.0.1 == 本机ip ifconfig 或者 ip addr 查看本地宿主机的ip地址 $ docker help Usage: docker [OPTIONS ...
- Session操作
存储API localStorage和sessionStorage通常被当做普通的JavaScript对象使用:通过设置属性来存储字符串值,查询该属性来读取该值.除此之外,这两个对象还提供了更加正式的 ...
- 在 Visual Studio 中调试时映射调用堆栈上的方法
本文转自:https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 1.创建代码图,以便在调试时对调用堆栈进行可视化跟踪. 你可以在图中进行标注以跟 ...
- 移动端自动化环境搭建-Robot Framework的安装
A.安装依赖 RF框架,robotframework本身. B.安装过程 可以通过下载 exe 程序进行安装,Robot Framework 分别提供了,win-amd64.exe 和 win32.e ...
- Javascript 中 == 和 === 区别
转载几张图片,说明其中的具体意义 这是 == 这是 === 完整比较图: 红色:=== 橙色:== 黄色:<= 和 >= 同时成立,== 不成立 蓝色:只有 >= 绿色:只有 < ...
- 由python为入口回顾C++的lambda
lambda是一种匿名函数,python lambda可以使简单的函数简洁的表达,,C++的lambda使类似嵌套函数的功能得以实现 python的lambda lambda [arg1[,arg2 ...
- [转载]我的WCF之旅(1):创建一个简单的WCF程序
为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构.对那些对WCF不是很了解的读者来说,这个例 ...
- Java入门记(三):初始化顺序
初始化顺序的规则 1.在一个类的对象实例化时,成员变量首先初始化,然后才调用构造器,无论书写顺序.如果调用构造器前,没有显式初始化,那么会赋默认值. 这样做法的原因可以理解为:构造器执行时可能会用到一 ...
- zepto的touch模块解决click延迟300ms问题以及点透问题的详解
大家都知道移动端的click事件会延迟300ms触发,这时大家可以使用zepto的touch模块,里面定义了一个tap事件,通过绑定tap事件,可以实现点击立即触发的功能. 那么,它的tap事件是怎么 ...
- oracle删除users表空间
1.users表空间一般情况下是默认的,需将别的空间设置成默认,再删除users表空间(oracle不允许删除默认空间的). 2.删除表空间的同时会报这样的错:ORA-22868错误.原因:推断应该存 ...