web实训知识点_0319

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来说:-是向左移,+是向右移

猜你喜欢

转载自blog.csdn.net/weixin_44762317/article/details/88749776