PC整站布局实战(XHTML+CSS实战)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34569497/article/details/89225806

根据设计师设计的页面写出前端网页代码:

1页面基本布局、默认样式重置、页面背景

规划整个页面布局header、nav、content、header等;

清除某些标签(body、ul/ol/li、img、h1-h6、a、p、dl/dd等)默认样式;

背景:通过PS截取1px的颜色渐变的png-24(一般使用字节小的格式)图片,再将图片进行平铺。

body{

   margin:0;

   background:url('../imgs/bg.png') repeat-x;

}

2页面头部

头部菜单使用ul li 里面使用a标签;

圆点(尽量使用图片,自带的li样式圆点不同浏览器下样式不一样);list-style: none;

帮助信息(电话、帮助信息等),国旗图片可以切换语言;

选择器尽量简短能唯一作用到即可(不一定所有层级都涉及到);

将小图标抠图抠下来(可以直接复制某个图层,选择要复制到的文件,可以将多个图标放在一张图例(需要测量好位置,拉好辅助线通过margin获取到要的图片位置)),最后保存时使用图像、裁切注意复制时不要背景色);

抠图时可以将原图以100%截屏,然后再另存为后进行扣;

图片一般存为PNG24(IE6下PNG24不认,需要通过JS解决);

<!--[if IE 7]-->

<!-- 解决IE6PNG24图片兼容性问题  -->

<script src="js/DD_belatedPNG_0.0.8a.js"></script>

<script type="text/javascript">

   DD_belatedPNG.fix('*');

</script>

<!--[endif]-->

样式太多,尽量一个标签的样式写到一行;

调试页面可以加上背景颜色或者边框;

alt图片占位符,当由于网络原因图片没有加载出来时,可以通过alt显示出某些文字说明的占位等;

title是图片说明文字;

<img src="imgs/products/pop.gif" alt="pop" title="pop"></img>

一般padding margin等都设置双数或者左右相加,上下相加为双数;

开启显示参考线Ctrl+;

font复合样式没有color;

 

3购物、标题

扣字母图片,先选中区域,选择图像——》裁剪,再去掉背景图层即可(必须通过历史记录撤销以上操作恢复原本图片);

可以将多个图片合并起来以便管理:取最宽的一张图片的宽度,在图片1上点击图像——画布大小增加高宽(宽=最宽图片宽;高=两图片高之和),再在另一张图片2窗口处右击,点击移动到新窗口,窗口变小后,将图片拖进图片1;

可以横着排,也可以竖着排,通过background的position定位left right top bottom来得到固

定部分。

示例:

<div id="shopping">

      <p>0 items in your bag</p>

      <a href="#">Check Out</a>

   </div>

#shopping{width:278px;height:98px;background:url(../imgs/shopping_checkout_bg.png) no-repeat left 6px;float:left;}

a{display:inline-block;width:114px;height:24px;position:absolute;left:104px;top:64px;background:url(../imgs/shopping_checkout_bg.png) no-repeat left -92px;color:#ffc200;text-align:center;}

图片尽量左右空白间距一致好设置居中;

ap标签不支持宽高,需设置displayinline-block;

想要位置绝对准确可使用position,但是元素父级也需要设置相对定位;

#header{width:960px;height:98px;margin:0 auto;background:url(../imgs/halo_bg.png) no-repeat;position:relative;}

#header h1{display:inline-block;width:234px;height:94px;background:url(../imgs/title_bg.png) no-repeat;position:absolute;left:362px;top:4px;}

光晕切图:需要把不相关的图片去掉;

4搜索框、导航栏

两个搜索框基本相同(背景图片、功能、提交相同,位置不同),通过父级-》子级不同的定位不同的搜索框;

 

#content .search{left:666px;top:604px;}

#header .search{left:666px;top:34px;}

.search{width:292px;height:32px;background:url(../imgs/search_bg.png) no-repeat;position:absolute;}

.search .searchTxt{width:230px;height:32px;line-height:32px;padding-left:20px;position:absolute;left:0;top:0;background:none;outline:none;font:13px/32px Arial;color:#666666;}

.search #subtn{width:42px;height:32px;position:absolute;left:250px;top:0;background:none;outline:none;}

两处样式可以同时设置:

输入框要使用自定义的背景需要设置原来textsubmit的背景为background:none;

一般尽量使用绝对定位,尽量少使用float,浮动在IE6下会有很多兼容问题;

outline属性:点中时标签的边框样式设置 4 个边框的样式,所有浏览器都支持;

导航栏一般使用三层嵌套设置背景(导航栏自适应宽度的背景):

<a><strong><span>HOME</span></strong></a>strong定义加粗的被强调的文本;

注意群组选择器的使用:此处使用 .active a  .active strong   .active span获取到选择器

<li class="active"><a><strong><span>HOME</span></strong></a></li>

示例:

/* 活动单元格和鼠标悬停样式 */

#nav .active a,#nav li a:hover{float:left;height:26px;background:url(../imgs/nav_bg.png) repeat-x 0 -28px;}

#nav .active strong,#nav a:hover strong{float:left;height:26px;background:url(../imgs/nav_bg.png) no-repeat;font-weight: normal;font-size:16px;color:#fff;}

#nav .active span,#nav a:hover span{float:left;height:26px;background:url(../imgs/nav_bg.png) no-repeat right -56px;padding:0 16px;}

 

5内容区域

阴影高度随内容高度自适应,底部渐变(也使用div标签三层嵌套);

整个大背景有三个背景:头部椭圆形背景(弧度),中间渐变背景,底部渐变消失背景。中间多余的内容平铺成白色即可。要是背景自适应需要使用三张图片拼接,使中间图片平铺;

填充某一块区域颜色:编辑——》填充——》颜色

圆角背景一般做淡入淡入,其他动作视觉效果会有点问题;

使用ul放多张图片(广告区域);

标题、文字区域、背景区域;

banner图片单独放进一个文件夹,且要做出淡入淡出(多个li通过JS做);

黑色半透明背景:使用滤镜,IE下,filter:alpha(opacity:80);标准浏览器下opacity:0.8

ulli为什么也要定位?ulli需要被背景盖住,且层级不一样,h2p的层级高于背景;

让背景居中可以使用margin:0 auto 也可以使用相对定位的top left去居中;

文字需要先确定行高,再确定marginpadding;

 

6内容区侧边栏menu

测量总宽高及左右分别宽高;

设置浮动后需要清除浮动;

左侧栏结构:使用dl的话圆角不好处理,所以使用div;

标题使用三层嵌套(自适应宽度);

图片平铺:竖着平铺多张图横着合并,横着平铺多张图片竖着合并;

strong\span是内联元素需要设置display:block才可以设置宽高;

 

7join NowPayPal、头部下拉框

背景:上下圆角中间平铺(使用三层嵌套div

PS中新打开图片想直接更改:图像模式设置成RGB模式即可;

渐变图层不能直接抠图,可以将源图以100%比例打开,先截图到另外一个文件后,再进行抠图

 

Paypal:

如果没有特殊要求,直接放图片在上面即可;

 

头部下拉框:

下拉框样式:想要做到自定义效果就不能使用原来的select标签,可以使用dl dd dt来实现;

给文字加span,方便之后加点击动作;

text-indent文本缩进;

下拉框小图标变化,使用a链接,并定位,然后通过背景图进行改变;

一左一右浮动,清浮动(父级设置高即可);

ul一般都是相对定位;

 

8our products

鼠标移入,边框变化;

li多个元素想要显示在一行,但是子级li宽不够会显示到第二行。此时如果想要一行显示,可以设置子级宽一点,尽可能使各个边框显示完全,再在父级中使用overflow:hidden隐藏多余部分;

 

#our_pdts { width:706px; overflow:hidden;}

#our_pdts ul { border:1px solid red;width:730px;}

三角符号:使用宋体;

底部1px的边框线;

CSS选择器选择到某个标签的最后一个子元素:p:last-child

<a href="#" class="active">1</a>这种只能通过.active定位到,不能通过a .active定位到;

 

9 featured products

图片展示区可滚动显示;

绝对定位必须要设置宽高才能显示出来;

.prev, .next {width:36px;height:42px;position:absolute;top:74px;}

.prev {left:0;background:url('../imgs/products/scroll_bg.png') no-repeat;}

.next {right:0;background:url('../imgs/products/scroll_bg.png') no-repeat right -42px;}

 

10兼容性问题

firefoxIE7及以上、ChromeIE6

IE6下问题:

1.PNG24图片不兼容;

解决:引入外部JS文件,及JS引入html

<!--[if IE 6]-->

这段代码只有IE下能看到

<!--[endif]-->

一般在html最后引入的DD_belatedPNG_0.0.8a.js文件,且只有在IE6下能看到。即使用<!--[if IE 6]-->注释起来。调用JS文件中的DD_belatedPNG. (‘div,p,img’)即那个地方用到PNG图片就写上此标签;也可以使用*

<!--[if IE 6]-->

<!-- 解决IE6PNG24图片兼容性问题 -->

<script src="js/DD_belatedPNG_0.0.8a.js"></script>

<script type="text/javascript">

   DD_belatedPNG('*');

</script>

<!--[endif]-->

有时候即使使用了PNG24兼容JS后,还是会有1个或者0.5个像素图片兼容问题;所以此时还是使用gif格式的图片比较好。且宽高最好使用偶数,否则会出现问题。

2.图片整体靠上显示;

解决:IE6下行高line-hight不能针对图片进行设置并让其居中。

可以单独设置一个样式处理IE6下的该问题。

/* 解决IE6下图片不能使用line-height进行设置居中显示的问题:先让其变成块,加上浮动再加上相对定位即可 */

/* 解决IE6下兼容问题的原则:坚决不用CSSHACK,向后扩展性不好 */

.img_center img { float:left;position:relative;top:10px;}

 

3.inputtext不居中而是靠上

解决:让行高line-heightheight一样高

#searchTxt{width:230px;height:32px;line-height:32px; }

 

4.超链接没有小手的样式

解决:设置光标的cursor:pointer即可;

a { text-decoration: none;cursor:pointer;}

a:hover { text-decoration: none;cursor:pointer;}

 

5超链接鼠标移入时下划线仍然显示;

解决:将移入时的下划线也去掉即可

a:hover { text-decoration: none;cursor:pointer;}

 

11JS效果

所有JS功能:

  • forminput框鼠标移入时,value消失,移出时value显示;
  • banner滚动;
  • 下拉菜单,点击屏幕任何页面,下拉菜单隐藏;
  • 最下面图片无限切换;

 

如何在一个页面写JS

  • JS的分层(功能):JS类库(jqueryJS工具)、组件(UI:拖拽、弹窗等)、应用(app)、mvc(backboneJS)
  • JS的规划(管理):避免全局变量和方法(命名空间、闭包、面向对象等)、模块化(seaJS

requireJS);

 

 

输入框:移入移出都有条件,移入时,文字为Search website时,设置为空;移出时,文字为空时才设置为默认值Search website;这个效果可以看做是共用的效果,其他输入框可以通用;

 

banner淡入淡出:

建立两个透明层控制翻页按钮的显示与否,并通过class获取到两个透明层;

//要想让所有浏览器都支持通过class获取元素,必须封装成一个方法;

sale.tools.getByClass = function (oParent,sClass){

    var eles = oParent.getElementsByTagName('*');

    var arr = [];

   

    for(var i = 0;i < eles.length;i++){

        //如果传入的className == className则将获取到的元素放进arr

        if(eles[i].className == sClass){

            arr.push(eles[i]);

        }

    }

    return arr;

};

var prevSpan = sale.tools.getByClass(adDiv,'prev_bg')[0];

var nextSpan = sale.tools.getByClass(adDiv,'next_bg')[0];

获取所有的li

三个li,第一个li的透明度为100%,后两个li透明度为0,当切换时,第一个li透明度从100变为0,再次切换时第三个li0变为100,其他两个都变成0

通过id获取到banner所在的整体div的;

banner图片3秒切换一次setInterval(auto,3000)(自动播放并重复播放)。每次调用定时器时要清除上一次设置的定时器,所以要给此定时器命名;

timer = setInterval(auto, 3000);

 

function auto(){

      //li循环累加标识

      //当循环到最后一张banner图片时,重置播放次数count

      if(curBanner == lis.length-1){

         curBanner = 0;

      }else{

         curBanner++;

      }

      //循环让所有li淡出

      for(var i = 0;i<lis.length;i++){

         sale.ui.fadeOut(lis[i]);

      }

      //然后让当前li淡入(将淡入淡出提取出功能)

      sale.ui.fadeIn(lis[curBanner]);

   }

li循环原理:第一次让所有的li淡出,让第二个li淡入,下一次让所有li淡出,然第三个li淡入,一直循环知道鼠标移入(累加的过程);

淡入淡出很多地方都会用到,所以写成组件;

淡入:从0开始,并且事先清除定时器。速度每次递增5。当value100时即透明度显示时,累加速度并且opacity/100(opacity是从0100)

淡出:和淡入相反;

<ul>

                            <li>

                                  <a href="#"><img src="imgs/banner/banner1.png" alt="adviertisement" title="adviertisement"></img></a>

                            </li>

                            <li>

                                  <a href="#"><img src="imgs/banner/banner2.gif" alt="desert" title="desert"></img></a>

                            </li>

                            <li>

                                  <a href="#"><img src="imgs/banner/banner3.gif" alt="jellyfish" title="jellyfish"></img></a>

                            </li>

                            <li>

                                  <a href="#"><img src="imgs/banner/banner4.gif" alt="lighthouse" title="lighthouse"></img></a>

                            </li>

                      </ul>

 

window.onload = function(){

      sale.app.toTip();

      sale.app.changeBanner();

     

};

//分层书写

var sale = {};//命名空间

sale.ui = {};

//淡入淡出

sale.ui.fadeIn = function(obj){

      //淡入:opacity0渐变到100

      var opacityVal = 0;

      //为防止多次点击时会有加入过程,需要事先清理已存在的定时器

      clearInterval(obj.timer);

      //需要清理已存在的定时器,否则有可能fadeIn会执行多次

      obj.timer = setInterval(function(){

           //设置渐入渐出的速度

           var iSpeed = 5;

           //如果透明度达到100则显示图片并清除定时器

           if(opacityVal == 100){

                 clearInterval(obj.timer);

           }else{

                 //将每次渐入进行累加,并赋值给当前元素的透明度

                 opacityVal += iSpeed;

                 obj.style.opacity = opacityVal/100;

                 obj.style.filter = 'alpha(opacity='+opacityVal+')';//兼容IE浏览器

           }

          

      }, 30);

};

sale.ui.fadeOut = function(obj){

      //淡出:opacity100渐变到0

      var opacityVal = 100;

      //为防止多次点击时会有加入过程,需要事先清理已存在的定时器

      clearInterval(obj.timer);

      //需要清理已存在的定时器,否则有可能fadeIn会执行多次

      obj.timer = setInterval(function(){

           //设置渐入渐出的速度

           var iSpeed = -5;

           //如果透明度达到100则显示图片并清除定时器

           if(opacityVal == 0){

                 clearInterval(obj.timer);

           }else{

                 //将每次渐入进行累加,并赋值给当前元素的透明度

                 opacityVal += iSpeed;

                 obj.style.opacity = opacityVal/100;

                 obj.style.filter = 'alpha(opacity='+opacityVal+')';//兼容IE浏览器

           }

          

      }, 30);

};

 

sale.ui.getByClass = function (classN){

     

};

 

sale.app = {};

//淡入淡出可能会重用,所以写成组件

sale.app.changeBanner = function(){

      //循环所有li,三个li,第一个li的透明度为100%,后两个li透明度为0,当切换时,第一个li透明度从100变为0,再次切换时第三个li0变为100,其他两个都变成0

      //banner淡入淡出,第一个li100%,后两个透明度0,再从0 100%

      //获取整个div

      var adDiv = document.getElementById("ad");

      //获取到整个div上所有的li

      var lis = adDiv.getElementsByTagName("li");

      //设置li上的定时器

      var timer = setInterval(auto, 3000);

     

      var curBanner = 0;

      //定时器,li淡入淡出循环原理:先让所有图片淡出,再将需要显示的图片淡入。即第一次让所有的li淡出,让第二个li淡入;下一次让所有li淡出,然第三个li淡入,一直循环知道鼠标移入(累加的过程);

      function auto(){

           //li循环累加标识

           //当循环到最后一张banner图片时,重置播放次数count

           if(curBanner == lis.length-1){

                 curBanner = 0;

           }else{

                 curBanner++;

           }

           //循环让所有li淡出

           for(var i = 0;i<lis.length;i++){

                 sale.ui.fadeOut(lis[i]);

           }

           //然后让当前li淡入(将淡入淡出提取出功能)

           sale.ui.fadeIn(lis[curBanner]);

      }

鼠标移入时,要显示对应的icondisplay:block),并且定时器要停下来。获取到两个icon所在的span,需要提取成功能便于通用;

要想让所有浏览器都支持通过class获取元素,必须封装成一个方法;

鼠标移动到icon上时图片抖动(因为spana是分离的,只需要给a标签同样加上display:block即可),且清除移入时定时器的自动播放;

点击icon时切换(加点击事件);

var timer = setInterval(auto, 3000);

   

    var curBanner = 0;

    //定时器,li淡入淡出循环原理:先让所有图片淡出,再将需要显示的图片淡入。即第一次让所有的li淡出,让第二个li淡入;下一次让所有li淡出,然第三个li淡入,一直循环知道鼠标移入(累加的过程);

    function auto(){

        //li循环累加标识

        //当循环到最后一张banner图片时,重置播放次数count

        if(curBanner == lis.length-1){

            curBanner = 0;

        }else{

            curBanner++;

        }

        //循环让所有li淡出

        for(var i = 0;i<lis.length;i++){

            sale.ui.fadeOut(lis[i]);

        }

        //然后让当前li淡入(将淡入淡出提取出功能)

        sale.ui.fadeIn(lis[curBanner]);

    }

    //往前翻页

    function autoPrev(){

        //li循环累减标识

        //当循环到最后一张banner图片时,重置播放次数count

        if(curBanner == 0){

            curBanner = lis.length-1;

        }else{

            curBanner--;

        }

        //循环让所有li淡出

        for(var i = 0;i<lis.length;i++){

            sale.ui.fadeOut(lis[i]);

        }

        //然后让当前li淡入(将淡入淡出提取出功能)

        sale.ui.fadeIn(lis[curBanner]);

    }

   

    //鼠标悬浮后停止轮播,并显示翻页图标,点击图标可以进行翻页

    //获取能让翻页按钮显示的鼠标悬浮区域span

    var prevSpan = sale.tools.getByClass(adDiv,'prev_bg')[0];

    var nextSpan = sale.tools.getByClass(adDiv,'next_bg')[0];

    //通过class形式获取到需要显示的a标签图片icon

    var prevA = sale.tools.getByClass(adDiv,'prevA')[0];

    var nextA = sale.tools.getByClass(adDiv,'nextA')[0];

   

    //给两个span加鼠标移入移出事件即可

    prevSpan.onmouseover = prevA.onmouseover = function(){

        prevA.style.display = 'block';

        //鼠标移入后要停止轮播定时任务

        clearInterval(timer);

    };

    prevSpan.onmouseout = prevA.onmouseout = function(){

        prevA.style.display = 'none';

        timer = setInterval(auto, 3000);

    };

    nextSpan.onmouseover = nextA.onmouseover = function(){

        nextA.style.display = 'block';

        clearInterval(timer);

    };

    nextSpan.onmouseout = nextA.onmouseout = function(){

        nextA.style.display = 'none';

       timer = setInterval(auto, 3000);//不能写成var timer = setInterval(auto, 3000);或者setInterval(auto, 3000);这样会重新写一个定时器

    };

   

    //点击翻页按钮时翻页,next可以直接使用auto自动翻页,prev时和next想反,可以重写方法

    prevA.onclick = function(){

        autoPrev();

    };

    nextA.onclick = function(){

        auto();

    };

12下拉框和滚动播放

11中淡入淡出存在bug:让所有的li一起淡入,一起淡出,但是所有的li中,并不是全部的li的透明度都统一为0或者统一为100,所以必须设置到opacity0时就不需要淡出,opacity100时就不需要淡入了。解决:写个方法获取当前DOM最终样式;

sale.tools.getStyle = function(obj,attr){

    if(obj.currentStyle){

        return obj.currentStyle[attr];

    }else{

        return getComputedStyle(obj,false)[attr];

    }

   

};

淡入时:

var curOp = sale.tools.getStyle(obj,'opacity');

    if(curOp == 100){

        return false;

    }

淡出时:

var curOp = sale.tools.getStyle(obj,'opacity');

    if(curOp == 0){

        return false;

    }

 

 

下拉框:

获取到所有的dd即下拉框;

将所有的dd加点击事件和索引;

将所有的dl显示出来:首先让所有的先隐藏,再让当前的li打开;

当点击屏幕任意位置时就隐藏li;

阻止冒泡:var ev = ev || ev.event;

通过JSdl添加鼠标移入移出样式(复用组件可以封装函数,可以直接采用闭包的写法);

闭包写法:(function(ul){方法体})(aul[i]);

点击时,让点击的value替换h2文本框的值(通过ul的索引找到h2,通过parentNode);

点击完之后,隐藏li层(也要阻止冒泡,不能影响到父级点击事件效果);

 

点击左右箭头滚动播放:

原理:图片时通过绝对定位设置的,切换时只要更改left的值即可;

无缝切换:把ul赋值一份,当走到一半时,再复制到当前ul处。通过uls.innerHTML+=uls.innerHTML;

设置ul的总长度:lis.length * lis[0].offsetWidth +‘px’;这样就能将复制好的ul排在前一个的后面;

每次点击按钮,长度都成倍增长到下一个,可以设置标识,然后给按钮加点击事件,点击next时,li往左运动的运动效果,最好把此方法封装成公用组件方法;

运动方法:首先需要清除定时器。参数,obj,当前值,变化后的值。

var isSpeed = (now-old)/10;

iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

if(now == old){

       clearInterval(obj.timer);

}else{

       old +=iSpeed;

       obj.style.left = old+px;

}

 

判断标识为ali.length/2时,就需要将标识和length还原为0,这样就能无缝衔接;

有padding或者margin等设置后有可能测量的li 的width和要移动的长度产生问题;

14最后代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>XHTML+CSS整站布局实战</title>
<link href="css/XHTML+CSS2.css" rel="stylesheet" type="text/css" /> 
<script src="js/XHTML+CSS.js"></script>
</head>
<body>
<div id="top">
	<ul class="top_bar">
		<li><a href="#">Account Sign In</a></li>
		<li><a href="#">Register</a></li>
		<li><a href="#">Buyers Guide</a></li>
		<li><a href="#">About</a></li>
		<li><a href="#">Blog</a></li>
		<li class="no_icon"><a href="#">Contact</a></li>
	</ul>
	<ul class="contact_bar">
		<li class="contact">123.456.7890</li>
		<li class="help"><a href="#">Live Help</a></li>
		<li class="canada img_center"><a href="#"><img src="imgs/Canada.png" alt="加拿大" title="加拿大"></img></a></li>
		<li class="american img_center"><a href="#"><img src="imgs/American.png" alt="美国" title="美国"></img></a></li>
	</ul>
</div>
<div id="header">
	<div id="shopping">
		<p>0 items in your bag</p>
		<a href="#">Check Out</a>
	</div>
	<h1 id="Ecommerce Website"></h1>
	<div class="search">
		<form id="searchForm" action="">
			<input type="text" id="searchTxt2" class="searchTxt" value="Search website"/>
			<input type="submit" id="subtn" value=""/>
		</form>
	</div>	
</div>
<ul id="nav">
		<li class="active"><a><strong><span>HOME</span></strong></a></li>
		<li><a><strong><span>LATEST ARRIVALS\</span></strong></a></li>
		<li><a><strong><span>MEN'S</span></strong></a></li>
		<li><a><strong><span>WOMEN'S</span></strong></a></li>
		<li><a><strong><span>KIDS</span></strong></a></li>
		<li><a><strong><span>BRANDS</span></strong></a></li>
		<li><a><strong><span>SALE</span></strong></a></li>
		<li><a><strong><span>GIFT CARDS</span></strong></a></li>
		<li><a><strong><span>FREEBIES</span></strong></a></li>
</ul>
<div id="content">
	<div id="content_top">
		<div id="content_bottom">
			<div id="ad">
				<a href="javascript:;" class="prevA"><img src="imgs/prev.png" alt="prev" title="prev"></img></a>
				<a href="javascript:;" class="nextA"><img src="imgs/next.png" alt="next" title="next"></img></a>
				<!-- 建立两个透明层,移入移出时分别显示不同按钮 -->
				<span class="prev_bg"></span>
				<span class="next_bg"></span>
				<ul>
					<li>
						<a href="#"><img src="imgs/banner/banner1.png" alt="adviertisement" title="adviertisement"></img></a>
					</li>
					<li>
						<a href="#"><img src="imgs/banner/banner2.gif" alt="desert" title="desert"></img></a>
					</li>
					<li>
						<a href="#"><img src="imgs/banner/banner3.gif" alt="jellyfish" title="jellyfish"></img></a>
					</li>
					<li>
						<a href="#"><img src="imgs/banner/banner4.gif" alt="lighthouse" title="lighthouse"></img></a>
					</li>
				</ul>
				<h2>PRODUCT TITLE</h2>
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras suscipit lacus dapibus ante mattis in adipiscing nibh placerat. Cras bibendum porta diam, non dignissim sapien malesuada vitae.</p>
				<div class="bg"></div>
			</div>
			<div id="module_menu" class="clearfloat">
				<div id="menu">
					<div id="menu_h2"><h2><strong><span>Browse Categories</span></strong></h2></div>
					<div id="list">
						<strong><span><ul>
							<li><a href="#">Lorem ipsum dolor sit</a></li>
							<li><a href="#">Amet consectetur</a></li>
							<li><a href="#">Adipiscin elit</a></li>
							<li><a href="#">Cras suscipit lacus</a></li>
							<li><a href="#">Dapibus ante mattis</a></li>
							<li><a href="#">Adipiscing nibh placerat</a></li>
							<li><a href="#">Cras bibendum</a></li>
							<li><a href="#">Porta diam elit</a></li>
							<li><a href="#">Adipiscing nibh placerat</a></li>
							<li><a href="#">Cras bibendum</a></li>
							<li><a href="#">Porta diam elit</a></li>
						</ul></span></strong>
					</div>
					<div id="join_now">
						<div id="join_now_top">
							<div id="join_now_bottom">
								<p>Join our newsletter list to get the latest updates</p>
								<form action="" method="post">
									<input type="text" class="joinnow_txt"/>
									<input type="submit" class="joinnow_btn" value="Join Now"/>
								</form>
								<ul>
									<li class="height1">Follow us on Twitter</li>
									<li class="height2">Become our fan on Facebook</li>
									<li class="height3">Connect with us on LinkedIn</li>
									<li class="height4">Send us your email enquiries</li>
								</ul>
							</div>
						</div>
					</div>
					<div id="paypal"></div>
				</div>
				<div id="wrap">
					<div id="sort" class="clearfloat">
						<p>Sort by:</p>
						<dl>
							<dd>
								<h2>Ascending</h2><a href="javascript:void(0);"></a>
								<ul>
									<li>menu1</li>
									<li>menu2</li>
									<li>menu3</li>
								</ul>
							</dd>
						</dl>
						<dl>
							<dd>
								<h2>Product Name</h2><a href="javascript:void(0);"></a>
								<ul>
									<li>menu1</li>
									<li>menu2</li>
									<li>menu3</li>
								</ul>
							</dd>
						</dl>
						<dl>
							<dd>
								<h2>Brand Name</h2><a href="javascript:void(0);"></a>
								<ul>
									<li>menu1</li>
									<li>menu2</li>
									<li>menu3</li>
								</ul>
							</dd>
						</dl>
						<div id="per_page"><p>Items per page:   <span>12</span>  /  <span>20</span>  /  <span class="color_style">30</span>  / <span class="color_style">50</span></p></div>
					</div>
					<div id="our_pdts">
						<h2>OUR PRODUCTS</h2>
						<ul class="clearfloat">
							<li>
								<img src="imgs/products/1.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/2.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/3.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/4.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
						</ul>
						<ul class="clearfloat">
							<li>
								<img src="imgs/products/1.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/2.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/3.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/4.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
						</ul>
						<ul class="clearfloat">
							<li>
								<img src="imgs/products/1.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/2.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/3.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
							<li>
								<img src="imgs/products/4.gif"></img>
								<p>Product Name</p>
								<p>Price: <span class="color_style">$12.99</span></p>
							</li>
						</ul>
						<div id="pager">
							<a href="#" class="active">1</a>
							<a href="#">2</a>
							<a href="#">3</a>
							<a href="#">4</a>
							<a href="#">5</a>
							<a href="#">NEXT ></a>
							<a href="#">LAST >></a>
						</div>
					</div>
					<div id="featured_pdts">
						<h2>FEATURED PRODUCTS</h2>
						<div id="featured">
							<div id="featured_left">
								<div id="featured_right">
									<a href="javascript:;" class="prev"></a>
									<a href="javascript:;" class="next"></a>
									<div id="scroll_pdts">
									 <ul class="clearfloat">
										<li>
											<a href="javascript:;"><img src="imgs/products/mp3.gif" alt="mp3" title="mp3"></img></a>
											<p>Elegant MP3 player skin PSD download</p>
										</li>
										<li>
											<a href="javascript:;"><img src="imgs/products/shopping_bag.gif" alt="bag" title="bag"></img></a>
											<p>Download shopping bag & icons (PSD & PNG)</p>
										</li>
										<li>
											<a href="javascript:;"><img src="imgs/products/pop.gif" alt="pop" title="pop"></img></a>
											<p>High resolution abstract bokeh background</p>
										</li>
									 </ul>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
<div id="footer">
	<div id="footer_info">
		<div id="promise1">Shop online with us safely & securely</div>
		<div id="promise2">We ship your orders anywhere!</div>
		<div class="search">
		<form id="searchForm" action="">
			<input type="text" id="searchTxt1" class="searchTxt" value="Search website"/>
			<input type="submit" id="subtn" value=""/>
		</form>
	</div>	
	</div>
	<div id="footer_link">
		<table id="foot_link_info">
			<tr>
				<th>Company</th>
				<th>Categories</th>
				<th>Information</th>
				<th>Social Network</th>
				<th>Contact Us</th>
			</tr>
			<tr>
				<td><a href="#">Home</a></td>
				<td><a href="#">Lorem ipsum dolor sit</a></td>
				<td><a href="#">My Account</a></td>
				<td><a href="#">My Account</a></td>
				<td>Phone: 1.234.567.8901</td>
			</tr>
			<tr>
				<td><a href="#">About Us</a></td>
				<td><a href="#">Amet consectetur</a></td>
				<td><a href="#">Rewards</a></td>
				<td><a href="#">Rewards</a></td>
				<td>Toll-Free: 1.234.567.8901</td>
			</tr>
			<tr>
				<td><a href="#">Blog</a></td>
				<td><a href="#">Adipiscin elit</a></td>
				<td><a href="#">Terms & Conditions</a></td>
				<td><a href="#">Terms & Conditions</a></td>
				<td>Fax: 1.234.567.8901</td>

			</tr>
			<tr>
				<td><a href="#">Latest News</a></td>
				<td><a href="#">Cras suscipit lacus</a></td>
				<td><a href="#">Buying Guide</a></td>
				<td><a href="#">Buying Guide</a></td>
				<td>Email: <a href="#"><span class="email">Send us an email</span></a></td>
			</tr>
			<tr>
				<td><a href="#">Login</a></td>
				<td><a href="#">Dapibus ante mattis</a></td>
				<td><a href="#">FAQ</a></td>
				<td><a href="#">FAQ</a></td>
				<td><a href="#"></a></td>
			</tr>
			<tr>
				<td><a href="#">Join Us</a></td>
				<td><a href="#">Adipiscing nibh placerat</a></td>
				<td></td>
				<td></td>
				<td>MON - SAT 	9am to 7:30pm</td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td></td>
				<td></td>
				<td>Sundays, holidays closed</td>
			</tr>
		</table>
	</div>
</div>
<!--[if IE 7]-->
<!-- 解决IE6下PNG24图片兼容性问题  -->
<script src="js/DD_belatedPNG_0.0.8a.js"></script>
<script type="text/javascript">
	DD_belatedPNG.fix('*');
</script>
<!--[endif]-->

</body>
</html>

JS:

/*如何在一个页面写JS
JS的分层(功能):JS类库(jquery等JS工具)、组件库(UI:拖拽、弹窗等);
JS的规划(管理);避免全局变量和方法(命名空间、闭包、面向对象等)、模块化(seaJS
、requireJS);*/


window.onload = function(){
	sale.app.toTip();
	sale.app.changeBanner();
	sale.app.toSelect();
	sale.app.toScroll();
	
};
//分层书写
var sale = {};//命名空间

sale.tools = {};
//要想让所有浏览器都支持通过class获取元素,必须封装成一个方法;
sale.tools.getByClass = function (oParent,sClass){
	var eles = oParent.getElementsByTagName('*');
	var arr = [];
	
	for(var i = 0;i < eles.length;i++){
		//如果传入的className == 此className则将获取到的元素放进arr中
		if(eles[i].className == sClass){
			arr.push(eles[i]);
		}
	}
	return arr;
};

//获取最终样式
sale.tools.getStyle = function(obj,attr){
	if(obj.currentStyle){
		return obj.currentStyle[attr];
	}else{
		return getComputedStyle(obj,false)[attr];
	}
	
};

sale.ui = {};
sale.ui.textChange = function (obj,str){
	obj.onfocus = function(){
		if(this.value == str){
			this.value = '';
		}
	};
	obj.onblur = function(){
		if(this.value == ''){
			this.value = str;
		}
	};
		
};
//淡入淡出
sale.ui.fadeIn = function(obj){
	var curOp = sale.tools.getStyle(obj,'opacity');
	if(curOp == 100){
		return false;
	}
	
	//淡入:opacity从0渐变到100
	var opacityVal = 0;
	//为防止多次点击时会有加入过程,需要事先清理已存在的定时器
	clearInterval(obj.timer);
	//需要清理已存在的定时器,否则有可能fadeIn会执行多次
	obj.timer = setInterval(function(){
		//设置渐入渐出的速度
		var iSpeed = 5;
		//如果透明度达到100则显示图片并清除定时器
		if(opacityVal == 100){
			clearInterval(obj.timer);
		}else{
			//将每次渐入进行累加,并赋值给当前元素的透明度
			opacityVal += iSpeed;
			obj.style.opacity = opacityVal/100;
			obj.style.filter = 'alpha(opacity='+opacityVal+')';//兼容IE浏览器
		}
		
	}, 30);
};
sale.ui.fadeOut = function(obj){
	var curOp = sale.tools.getStyle(obj,'opacity');
	if(curOp == 0){
		return false;
	}
	//淡出:opacity从100渐变到0
	var opacityVal = 100;
	//为防止多次点击时会有加入过程,需要事先清理已存在的定时器
	clearInterval(obj.timer);
	//需要清理已存在的定时器,否则有可能fadeIn会执行多次
	obj.timer = setInterval(function(){
		//设置渐入渐出的速度
		var iSpeed = -5;
		//如果透明度达到100则显示图片并清除定时器
		if(opacityVal == 0){
			clearInterval(obj.timer);
		}else{
			//将每次渐入进行累加,并赋值给当前元素的透明度
			opacityVal += iSpeed;
			obj.style.opacity = opacityVal/100;
			obj.style.filter = 'alpha(opacity='+opacityVal+')';//兼容IE浏览器
		}
		
	}, 30);
};

//滚动右移
sale.ui.moveRight = function(obj,old,now){
	//首先清除定时器
	clearInterval(obj.timer);
	obj.timer = setInterval(function(){
		var iSpeed = (now-old)/10;
		//ceil向上取整  floor向下取整 使其居正
		iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
		if(now == old){
			clearInterval(obj.timer);
		}else{
			old +=iSpeed;
			obj.style.left = old+'px';
		}
    },30); 
};
//滚动左移
sale.ui.moveLeft = function(obj,old,now){
	//首先清除定时器
	clearInterval(obj.timer);
	obj.timer = setInterval(function(){
		var iSpeed = (now-old)/10;
		//ceil向上取整  floor向下取整 使其居正
		iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
		if(now == old){
			clearInterval(obj.timer);
		}else{
			old +=iSpeed;
			obj.style.left = old+'px';
		}
    },30); 
};

sale.app = {};

sale.app.toTip = function(){
	//输入框:移入移出都有条件,移入时,文字为Search website时,设置为空;移出时,文字为空时才设置为默认值Search website
	var searchTxt1 = document.getElementById('searchTxt1');
	var searchTxt2 = document.getElementById('searchTxt2');
	
	sale.ui.textChange(searchTxt1,'Search website');
	sale.ui.textChange(searchTxt2,'Search website');
};
//淡入淡出可能会重用,所以写成组件
sale.app.changeBanner = function(){
	//循环所有li,三个li,第一个li的透明度为100%,后两个li透明度为0,当切换时,第一个li透明度从100变为0,再次切换时第三个li从0变为100,其他两个都变成0;
	//banner淡入淡出,第一个li100%,后两个透明度0,再从0 到100%
	//获取整个div
	var adDiv = document.getElementById("ad");
	//获取到整个div上所有的li
	var lis = adDiv.getElementsByTagName("li");
	//设置li上的定时器
	var timer = setInterval(auto, 3000);
	
	var curBanner = 0;
	//定时器,li淡入淡出循环原理:先让所有图片淡出,再将需要显示的图片淡入。即第一次让所有的li淡出,让第二个li淡入;下一次让所有li淡出,然第三个li淡入,一直循环知道鼠标移入(累加的过程);
	function auto(){
		//li循环累加标识
		//当循环到最后一张banner图片时,重置播放次数count
		if(curBanner == lis.length-1){
			curBanner = 0;
		}else{
			curBanner++;
		}
		//循环让所有li淡出
		for(var i = 0;i<lis.length;i++){
			sale.ui.fadeOut(lis[i]);
		}
		//然后让当前li淡入(将淡入淡出提取出功能)
		sale.ui.fadeIn(lis[curBanner]);
	}
	//往前翻页
	function autoPrev(){
		//li循环累减标识
		//当循环到最后一张banner图片时,重置播放次数count
		if(curBanner == 0){
			curBanner = lis.length-1;
		}else{
			curBanner--;
		}
		//循环让所有li淡出
		for(var i = 0;i<lis.length;i++){
			sale.ui.fadeOut(lis[i]);
		}
		//然后让当前li淡入(将淡入淡出提取出功能)
		sale.ui.fadeIn(lis[curBanner]);
	}
	
	//鼠标悬浮后停止轮播,并显示翻页图标,点击图标可以进行翻页
	//获取能让翻页按钮显示的鼠标悬浮区域span
	var prevSpan = sale.tools.getByClass(adDiv,'prev_bg')[0];
	var nextSpan = sale.tools.getByClass(adDiv,'next_bg')[0];
	//通过class形式获取到需要显示的a标签图片icon
	var prevA = sale.tools.getByClass(adDiv,'prevA')[0];
	var nextA = sale.tools.getByClass(adDiv,'nextA')[0];
	
	//给两个span加鼠标移入移出事件即可
	prevSpan.onmouseover = prevA.onmouseover = function(){
		prevA.style.display = 'block';
		//鼠标移入后要停止轮播定时任务
		clearInterval(timer);
	};
	prevSpan.onmouseout = prevA.onmouseout = function(){
		prevA.style.display = 'none';
		timer = setInterval(auto, 3000);
	};
	nextSpan.onmouseover = nextA.onmouseover = function(){
		nextA.style.display = 'block';
		clearInterval(timer);
	};
	nextSpan.onmouseout = nextA.onmouseout = function(){
		nextA.style.display = 'none';
		timer = setInterval(auto, 3000);//不能写成var timer = setInterval(auto, 3000);或者setInterval(auto, 3000);这样会重新写一个定时器
	};
	
	//点击翻页按钮时翻页,next可以直接使用auto自动翻页,prev时和next想反,可以重写方法
	prevA.onclick = function(){
		autoPrev();
	};
	nextA.onclick = function(){
		auto();
	};
};

//下拉框
sale.app.toSelect = function(){
	//获取到下拉框所在的div
	var sortDiv = document.getElementById("sort");
	//获取到下拉框所在的div下的所有dd
	var dds = sortDiv.getElementsByTagName("dd");
	//获取到需要展开的ul
	var uls = sortDiv.getElementsByTagName("ul");
	var h2s = sortDiv.getElementsByTagName("h2");
	//给dd设置点击事件
	for(var i = 0;i<dds.length;i++){
		//给每一个dd加上索引
		dds[i].index = i;
		dds[i].onclick = function(ev){
			//为了让点击屏幕任意位置,ul全部隐藏,需要对父级dd的点击事件进行阻止冒泡
			var ev = ev || window.event;
			//循环隐藏所有的ul,打开指定ul
			var This = this;
			for(var j = 0;j<uls.length;j++){
				uls[j].style.display = "none";
				uls[This.index].style.display = "block";
			}
			//点击屏幕任意位置,ul全部隐藏
			document.onclick = function(){
				uls[This.index].style.display = "none";
			};
			//在任何位置阻止冒泡即可
			ev.cancelBubble = true;
		};
		
	}
	for(var i = 0;i<uls.length;i++){
		//给ul加上索引,通过ul的索引获得对应h2标签的值
		uls[i].index = i;
		//采用闭包写法即封装函数
		(function(ul){
			//获取到每个ul下面对应的li
			var lis = sortDiv.getElementsByTagName("li");
			for(var j = 0;j<lis.length;j++){
				lis[j].onmouseover = function(){
					this.className = "activeLi";
				}; 
				lis[j].onmouseout = function(){
					this.className = "";
				};
				//点击li时点击的文字替换文本还h2的内容
				lis[j].onclick = function(){
					var ev = ev || window.event;
					h2s[this.parentNode.index].innerHTML = this.innerHTML;
					ev.cancelBubble = true;
					//点击完后隐藏ul层
					this.parentNode.style.display = 'none';
				};
			}
		})(uls[i]);
	}
	
};

sale.app.toScroll = function(){
	//获取到整个div,div下的前后翻滚按钮,及li
	//获取到下拉框所在的div
	var featuredDiv = document.getElementById("featured");
	//获取到下拉框所在的div下的所有a标签
	var prev = sale.tools.getByClass(featuredDiv,'prev')[0];//注意通过class获取到的是数组
	var next = sale.tools.getByClass(featuredDiv,'next')[0];
	//获取到需要展开的li
	var uls = featuredDiv.getElementsByTagName("ul")[0];//注意ul是数组
	var lis = uls.getElementsByTagName("li");
	
	//把ul赋值一份,当走到一半时,再复制到当前ul处
	uls.innerHTML += uls.innerHTML;
	uls.style.width = lis.length * lis[0].offsetWidth + 'px';
	//定义标识,标识点击按钮后成倍位移
	var isNow = 0;
	//给按钮添加点击事件
	prev.onclick = function(){
		if(isNow == 0){
			isNow = lis.length/2;
			uls.style.left = lis.length/2;
		}
		//定义标识,标识点击按钮后成倍位移
		sale.ui.moveRight(uls,-isNow*lis[0].offsetWidth,-(isNow-1)*lis[0].offsetWidth);
		isNow--;
	};
	next.onclick = function(){
		if(isNow == lis.length/2){
			isNow = 0;
			uls.style.left = 0;
		}
		//定义标识,标识点击按钮后成倍位移
		sale.ui.moveLeft(uls,-isNow*lis[0].offsetWidth,-(isNow+1)*lis[0].offsetWidth);
		isNow++;
	};
};

CSS:

@CHARSET "UTF-8";
/* 初始化所有标签默认值 */
body{margin:0;background:url(../imgs/bg.png) repeat-x;}
dl,dt,dd,tr,td,th,input,ul,li{margin:0;padding:0;}
ul,ul li{list-style: none;}
p,h1,h2{margin:0;}
a,a:hover { text-decoration: none;cursor:pointer;}
img,input{border:none;}
table {border-collapse: collapse;}
/* 头部样式:menu+联系及帮助信息 */
#top{width:960px; margin:0 auto; height:30px;}
.top_bar{width:478px;float:left;}
.top_bar li{float:left;background: url(../imgs/top_icon.png) no-repeat right 13px;padding-right:15px;padding-left:13px;}
.top_bar li a{font:13px/30px Arial; color:#c0c0c0;}
.top_bar .no_icon{background:none;padding:0 0 0 14px;}
.contact_bar{width:320px;float:left;margin-left:155px;}
.contact_bar li{float:left;}
.contact_bar li,.contact_bar li a{font:bold 13px/30px Arial; color:#ffffff;}
.contact_bar .contact{background: url(../imgs/top_icon.png) no-repeat left -17px; padding-left:27px;}
.contact_bar .help{background: url(../imgs/top_icon.png) no-repeat left -46px;margin-left:38px;}
.contact_bar .help a{padding-left:38px;}
.canada{margin-left:29px;}
.american{margin-left:10px;}

/* 解决IE6下图片不能使用line-height进行设置居中显示的问题:先让其变成块,加上浮动再加上相对定位即可 */
/* 解决IE6下兼容问题的原则:坚决不用CSS的HACK,向后扩展性不好 */
.img_center img { float:left;position:relative;top:10px;}

/* 搜索及标题栏 */
#header{width:960px;height:98px;margin:0 auto;background:url(../imgs/halo_bg.png) no-repeat;position:relative;}
#shopping{width:278px;height:98px;background:url(../imgs/shopping_checkout_bg.png) no-repeat left 6px;float:left;}
#shopping p{display:inline-block;width:170px;height:20px;margin:32px 0 0 84px;font:20px/20px Arial;color:#f7f7f7;}
#shopping a{display:inline-block;width:114px;height:24px;position:absolute;left:104px;top:64px;background:url(../imgs/shopping_checkout_bg.png) no-repeat left -92px;color:#ffc200;text-align:center;} 
#shopping a:hover{color:#ffe502;}
/* 搜索及标题栏:大标题 */
#header h1{display:inline-block;width:234px;height:94px;background:url(../imgs/title_bg.png) no-repeat;position:absolute;left:362px;top:4px;}

/* 搜索及标题栏:搜索框 */
#header .search{left:666px;top:34px;}
.search{width:292px;height:32px;background:url(../imgs/search_bg.png) no-repeat;position:absolute;}
.search .searchTxt{width:230px;height:32px;line-height:32px;padding-left:20px;position:absolute;left:0;top:0;background:none;outline:none;font:13px/32px Arial;color:#666666;}
.search #subtn{width:42px;height:32px;position:absolute;left:250px;top:0;background:none;outline:none;}

/* 导航栏 */
#nav{width:960px;height:36px;margin:0 auto;}
#nav li{float:left;height:26px;padding:8px 0px 8px 4px;}
#nav li a{float:left;height:26px;}
#nav li strong{float:left;height:26px;font-weight: normal;font-size:16px;color:#fff;}
#nav li span{float:left;height:26px;padding:0 16px;}

/* 活动单元格和鼠标悬停样式 */
#nav .active a,#nav li a:hover{float:left;height:26px;background:url(../imgs/nav_bg.png) repeat-x 0 -28px;}
#nav .active strong,#nav a:hover strong{float:left;height:26px;background:url(../imgs/nav_bg.png) no-repeat;font-weight: normal;font-size:16px;color:#fff;}
#nav .active span,#nav a:hover span{float:left;height:26px;background:url(../imgs/nav_bg.png) no-repeat right -56px;padding:0 16px;}

/* 正文内容 */
#content{width:1000px;margin:24px auto 0;background:url(../imgs/content_bg.png) repeat-y -1000px 0;}
#content_top{width:1000px;background:url(../imgs/content_bg.png) no-repeat;}
#content_bottom{width:1000px;background:url(../imgs/content_bg.png) no-repeat -2000px bottom;padding-top:10px;}/* 父级padding-top为10px;否则会整个div往下 */

#ad {width:940px;height:300px;margin:0 auto;position:relative;}
#ad ul,#ad li,#ad h2,#ad p,#ad .bg,#ad .prevA,#ad .nextA,#ad .prev_bg,#ad .next_bg{position:absolute;}
#ad ul{top:0;left:0;z-index:1;}
#ad ul li{top:0;left:0;}
/* banner左右翻页 */
#ad .prevA{top:74px;left:0;display:none; z-index:3;}
#ad .nextA{top:74px;right:0;display:none; z-index:3;}
/* banner透明层控制左右按钮显示与否 */
#ad .prev_bg {top:0;left:0;width:470px;height:300px;z-index:2;display:block;}
#ad .next_bg {top:0;right:0;width:470px;height:300px;z-index:2;display:block;}

#ad h2{left:0;bottom:8px;z-index:3;width:268px;color:#ffc600;text-align:center; line-height:32px;font-size:25px;font-weight:bold;}
#ad p{left:268px;bottom:8px;z-index:3;width:630px;font-size: 13px;color:#ffcccc;line-height:18px;}
/* 将半透明的区域定位到左下角bottom:0;right:0 */
#ad .bg{left:0;bottom:0;width:940px;height:52px;background: #000;filter:alpha(opacity:80);opacity:0.8;z-index:2;}

/* 内容区第一块menu */
#module_menu{width:942px;margin:30px auto 0;}
#module_menu #menu{ width:210px;heigth:390px;float:left;}
/* #module_menu #wrap{width:706px;height:390px;float:left;} */
/* 设置浮动后必须在父级清除浮动 */
.clearfloat{zoom:1;}
.clearfloat:after{content:'';display: block;clear:both;}

#menu #menu_h2 h2{display:block;height:30px;background:url('../imgs/menu_h2.gif') repeat-x 0 -60px;margin-bottom:1px;}
#menu #menu_h2 strong{display:block;height:30px;background:url('../imgs/menu_h2.gif') no-repeat;}
#menu #menu_h2 span{display:block;height:30px;background:url('../imgs/menu_h2.gif') no-repeat right -30px;color:#ffffff;line-height:30px;font-weight: bold;font-size: 15px;text-align: center;}
#list{width:210px;}
#list strong{display:block;width:210px;background:url('../imgs/menu_list.png') repeat-y right -209px;}
#list span{display:block;width:210px;background:url('../imgs/menu_list.png') no-repeat left bottom;}
#list ul{display:block;padding:18px 8px 16px 8px;}
#list ul li a{display:block;height:29px;line-height:29px;font-size:12px;font-weight:blod;color:#434343;padding-left:32px;border-bottom:1px solid #ffffff;}
#list ul li a:hover{background-color:#ffee99;color:#b20e00;border-bottom:1px solid #b20e00;}

/* 内容区Join Now */
#join_now{width:210px;background:url('../imgs/join_now_bg.gif') repeat-y right -420px;margin-top:8px;}
#join_now #join_now_top{width:210px;background:url('../imgs/join_now_bg.gif') no-repeat;}
#join_now #join_now_bottom{width:210px;background:url('../imgs/join_now_bg.gif') no-repeat -210px bottom;}

#join_now p{display:inline-block;inline-height:20px;margin:8px 16px 12px 16px;font-size:15px;color:#666666;}
#join_now .joinnow_txt{display:inline-block;width:176px;height:26px;border:1px solid #fff;border-top:1px solid #9c9c9c;border-left:1px solid #c0c0c0;margin:0 16px;color:#666666;}
#join_now .joinnow_btn{display:block;width:88px;height:25px;color:#fff;font-size:15px;font-weight:bold;line-height:25px;margin:8px auto 12px auto;background:url('../imgs/join_now_btn.png') no-repeat;}
#join_now ul{padding:0 8px 6px 8px;}
#join_now ul li{border-top:1px solid #fff;}

.height1{height:45px;line-height:45px;font-size:13px;color:#434343;background:url('../imgs/join_now_icon.gif') no-repeat 10px 0;padding-left:62px;}
.height2{height:48px;line-height:22px;font-size:13px;color:#434343;background:url('../imgs/join_now_icon.gif') no-repeat 10px -46px;padding-left:62px;}
.height3{height:50px;line-height:24px;font-size:13px;color:#434343;background:url('../imgs/join_now_icon.gif') no-repeat 10px -93px;padding-left:62px;}
.height4{height:45px;line-height:21px;font-size:13px;color:#434343;background:url('../imgs/join_now_icon.gif') no-repeat 10px -142px;padding-left:62px;}

/* 支付区域 */
#paypal { width:182px;height:174px;background:url('../imgs/PayPal.gif') no-repeat; margin:32px 10px 20px 18px; }

/* 正文内容下拉框、页码 */
#module_menu #wrap { width:706px; height:940px; margin:0 0 20px 26px; float:left; }

#wrap #sort { width:706px;height:20px;position:relative;}
#wrap #sort p { float:left;font-size:12px;font-weight:normal;color:#747474;margin-right:4px;}
#wrap #sort dl { float:left;width:114px;margin-right:12px;}
#wrap #sort dl dd { display:block;width:114px;height:20px;padding:0;border:1px solid #cccccc;font-size:12px;font-weight:normal;color:#747474;}
#wrap #sort dd h2 { text-indent: 5px;height:20px;float:left;font-size:12px;font-weight:normal;color:#747474;padding-right:5px;cursor: pointer;}
#wrap #sort dd a { display:block;width:20px;height:20px;float:right;background:url('../imgs/select_btn.png') no-repeat left;}
#wrap #sort a:hover { background:url('../imgs/select_btn.png') no-repeat right;}
#wrap #sort ul {display:none;padding-top:20px;width:112px;height:60px;border:1px solid #cccccc;}
#wrap #sort ul li { text-indent: 5px;line-height:20px;cursor: pointer;}
#wrap #sort #per_page {font-size:12px;font-weight:normal;color:#747474;position:absolute;right:0;}
.color_style {color:#b20e00;}
#wrap #sort .activeLi {background:#f5f5f2;}

/* 内容区域,产品列表 */
#our_pdts { border-bottom:1px solid #cdcdc8;width:706px;margin:26px 10px 0 0;overflow:hidden;}
#our_pdts h2 {font-size:18px;font-weight:bold;color:#666666;height:34px;line-height:24px;}
#our_pdts ul { width:730px;margin-bottom:44px;}
#our_pdts ul li { float:left;margin:0 26px 0 0;}
#our_pdts ul img { border:1px solid #c6c6c6;}
#our_pdts ul img:hover { border:1px solid #b20e00;}
#our_pdts ul li p {height:20px;line-height:20px;font-size:15px;font-weight:blod;color:#666666;}
#our_pdts ul li p:last-child {height:16px;line-height:16px;font-size:13px;font-weight:normal;color:#333333;}

/* 分页按钮 */
#pager { width:706px;height:32px;line-height:32px;text-align: center;}
#pager a { display:inline-block;height:24px;line-height:24px;color:#b20e00;padding:0 8px;}
#pager a:hover,#pager .active{ background-color:#b20e00;color:#fff;}

/* 内容区FEATURED PRODUCTS */
#featured_pdts { width:706px;overflow:hidden;}
#featured { width:706px;height:198px;background:url('../imgs/products/scroll_bg.png') repeat-x 0 -484px;}
#featured #featured_left { width:706px;height:198px;background:url('../imgs/products/scroll_bg.png') no-repeat 0 -84px;}
#featured #featured_right { width:706px;height:198px;background:url('../imgs/products/scroll_bg.png') no-repeat right -284px;position:relative;}

#featured_pdts h2 { font-size:18px;color:#666666;margin-top:20px;height:22px;line-height:22px;}
.prev, .next {width:36px;height:42px;position:absolute;top:74px;z-index:2;}
.prev {left:0;background:url('../imgs/products/scroll_bg.png') no-repeat;}
.next {right:0;background:url('../imgs/products/scroll_bg.png') no-repeat right -42px;}
/* #scroll_pdts { overflow: hidden;width: 678px;position:absolute;top:0;left:0;z-index:1;}
#scroll_pdts ul { position:relative;left:72px;top:36px;padding-left:72px;padding-top:36px;width:706px;height:198px;z-index:2;}
#scroll_pdts ul li {width:146px;float:left;padding-right:60px;}
#scroll_pdts ul li img { border:1px solid #c6c6c6;}
#scroll_pdts ul li img:hover { border:1px solid #b20e00;}
#scroll_pdts ul li p {display:inline-block;font-size:12px;color:#660000;} */
#scroll_pdts { width: 615px;height:150px;padding-top:32px;margin:0 auto;z-index:1;position:relative;overflow:hidden;}
#scroll_pdts ul { height:150px;position:absolute;z-index:2;}
#scroll_pdts ul li {width:205px;float:left;}
#scroll_pdts ul li a,#scroll_pdts ul li p  { width:145px;margin:0 auto;}
#scroll_pdts ul li a { display:block;height:100px;}
#scroll_pdts ul li p {line-height:14px;padding-top:10px; font-size:12px;color:#660000;text-align:center;}

/* 页脚信息和链接 */
#footer { width:100%;background:url('../imgs/foot_bg.png') repeat-x;margin-top:10px;}
#footer #footer_info,#footer #promise1,#footer #promise2 { position:absolute;} 
#footer #footer_info { width:100%;height:60px;position:relative;overflow:hidden;}
#footer #promise1 ,#footer #promise2 { height:60px;top:0;color:#cbcbcb;font-size:14px;font-weight:bold;padding-top:20px;line-height:18px;overflow:hidden;}
#footer #promise1 {width:350px;left:320px;background:url('../imgs/secured_icon.gif') no-repeat 6px 6px;padding-left:74px;}
#footer #promise2 { width:310px;left:670px;background:url('../imgs/orders_icon.gif') no-repeat 0 14px;padding-left:50px;}
#footer .search{left:990px;top:16px;}
/* 页脚链接 */
#footer #footer_link { width:952px;height:244px; margin:0 auto;}
#foot_link_info th { height:74px;font-size:15px;font-weight:bold;color:#ffffff;text-align:left;padding-right:60px;}
#foot_link_info td { font-size:13px;color:#cfcfcf;height:20px;line-height:20px;padding-right:60px; }
#foot_link_info a { display:inline-block;font-size:13px;color:#cfcfcf;height:20px;line-height:20px;}
#foot_link_info a:hover { color:#8b8b8b;}
#foot_link_info span {display:inline-block;}
#foot_link_info .email { color:#ffcc00!important;}
#foot_link_info span:hover {color:#fff107!important;}

猜你喜欢

转载自blog.csdn.net/qq_34569497/article/details/89225806
今日推荐