web实训知识点_0319
1.用ul制作导航栏:
html部分:
<ul class="nav">
<li><a href="#">首 页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">产品展示</a></li>
<li><a href="#">售后服务</a></li>
<li><a href="#">联系我们</a></li>
</ul>
CSS部分:
*{ margin:0; padding:0; font-size:14px; } //这里做了一个基本的样式清除,并且设置初始的文字大小为14px;
ul{ list-style:none; width:100px; } //list-style:none;是为了清除条目前的那个圆点
li{ height:30px; line-height:30px; width:100px; background-color:#f60; margin-bottom:1px; padding-left:10px;} //padding-left:10px是为了让文字向右移动10个像素,但是li的宽度也会增加10个像素,这里推荐用text-indent:10px;文本缩进10个像素
a{text-decoration:none; display:block; height:30px; line-height:30px; width:100px; background-color:#f60; margin-bottom:1px; padding-left:10px;}
a:hover{ background-color:#f60; color:#0000;} //这个是鼠标经过的样式
这是垂直菜单栏如果要做成水平菜单栏就需要设置成float:left即可。
垂直效果:
水平效果:
2.CSS定位
页面布局相关属性:
float(left,right,auto),
display(block,inline,inline-block,listitem),
overflow(auto,hidden,scroll,visible)。
CSS 定位属性允许对元素进行定位
属性 | 描述 |
---|---|
z-index | 设置元素的堆叠顺序 |
vertical-align | 设置元素的垂直对齐方式 |
clip | 设置元素的形状。元素被剪入这个形状之中,然后显示出来 |
overflow | 设置当元素的内容溢出时处理方式 |
left | 定义了定位元素的左外边距边界与其包含块上边界之间的偏移 |
bottom | 定义了定位元素的下外边距边界与其包含块上边界之间的偏移 |
right | 定义了定位元素的右外边距边界与其包含块上边界之间的偏移 |
top | 定义了定位元素的上外边距边界与其包含块上边界之间的偏移 |
position | 规定元素的定位类型 |
position属性规定元素的定位类型,定义建立元素布局所用的定位机制,任何元素都可以定位。 position属性值。
值 | 描述 |
---|---|
static | 默认值。没有定位,元素出现在正常的流中,忽略left、top、right或者z-index声明 |
relative | 相对定位,相对于其正常位置进行定位,元素的定位位置通过left、top、right和bottom属性值确定 |
fixed | 固定定位,相对于浏览器窗口进行定位,元素的定位位置通过left、top、right和bottom属性值确定 |
absolute | 绝对定位,相对于最近定位的祖先元素进行定位,元素的定位位置通过left、top、right和bottom属性值确定 |
注:
对于定位要理解每种定位的意义:相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么最近的已定位祖先元素是body。
3.用div制作导航栏
html部分:
<div id="top">
<div class="top-nav"><a href="123">首页<span class="span">Home</span></a></div>
<div class="top-nav"><a href="123">课堂大厅<span class="span">Course</span></a></div>
<div class="top-nav"><a href="123">学习中心<span class="span">Learn</span></a></div>
<div class="top-nav"><a href="123">关于我们<span class="span">About</span></a></div>
</div>
css部分:
<style type="text/css">
a{
color: #FFFF99;
text-decoration: none;
}
a:hover{
color: #FFFFFF;
text-decoration: underline;
}
#top{
padding: 10px 10px 0;
font-size: 12px;
font-weight: bold;
margin: 1px 0 0;
list-style: none;
border-bottom: 8px solid #DCE6F4;
overflow: hidden;
background-color: #33b5e5;
}
.top-nav{
float: left;
margin-right: 1px;
background-color: #333333;
position: relative;
width: 80px;
height: 20px;
text-align: center;
line-height: 20px;
}
.top-nav span{
position: absolute;
visibility: hidden;
}
.top-nav:hover span{
line-height: 20px;
background: #DDDDDD;
color: #666666;
display: block;
width: 80px;
text-align: center;
padding-top: 2px;
visibility: visible;
top:0;
left: 0;
color:#FFFFFF;
background:#DC4E1B;
}
</style>
效果如下:
4.总结
1、用无序列表构建菜单;ul/li。
2、垂直菜单转变为水平菜单:float:left;
3、在制作改变高度的伸缩菜单时,实现高度向上延伸的技巧: ----> margin-top用负值;margin-top:-10px;可以使高度变大的块上移,与其他块处于一个平面,
4、line-height:40px;改变文字高度来满足其垂直居中,
5、背景图片的偏移:background-position:0 -30px;
对于Y来说:-是向上移,+是向下移,
对于X来说:-是向左移,+是向右移