css-3秒(大概吧...)快速撸出YY游戏页面(一)

有哪里不懂的,请在下面留言,我每天都看,有时间我会一一解答,看评论区也许有人提出了跟你同样想问的问题,可以看看我给出的回答,不用重复提问。

首先我们看看页面的样子

1秒钟看完进入第一次准备工作

  • 开始项目的时候先建立好老三样,因为本篇不涉及js所以是老三样

  • style文件夹下先建立好两个css一个是你这个项目样式comment.css,另一个是重置浏览器的公共样式样式reset.css
  • images里面随便放图片

1秒钟完成了第一次准备工作,进入第二次准备工作

  • 首先我们来写个reset.css
@charset "utf-8";

body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd {
    margin: 0;
    padding: 0;
}

ul,ol {list-style: none;}

img {border: none;vertical-align: top;}

a {text-decoration: none;}

/*选择性的*/

em,i {font-style: normal;}

/*公用*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix {zoom: 1;}

.fl {float: left;}

.fr {float: right;}

复制代码
  • 每个浏览器对每个不同的标签都有一些大同小异的默认样式,为了统一所以需要让其重置,暴力reset*{margin:0;padding:0}给整个页面里的所有元素都重置的样式,虽然简单快速但是有时候一些默认的东西你还是需要去保留它,写个简单规范的reset其实不难,,所以我不推荐用暴力reset。
  • 上面的reset里img去除了边框和增加了顶部对齐,部分浏览器里img在盒子里面的对齐方式如果是底部对齐,那么会有撑出多余的高度,给予vertical-align:top;是为了解决这个小bug,a标签也有类似的问题,稍后再讲。
  • 我们这个reset.css里面有.clearfix:after,亲测其实这里面写三个就OK了,不需要给heigh:0;overflow:hidden;但如果你里面有元素设了负值的margin顶到了盒子外面则你可能需要单独加一个overflow:hidden;

1秒钟完成了第二次准备工作,进入正式工作部分

  • 首先从最顶部的入手
  • 把左边的图切出来放到images文件夹下备用
  • 书写html结构和填充内容
结构详解
  • 首先我们给一个大盒子给三个类名,header/gWidth/clearfix,请看本篇开头的那张整图,页面整体集中在中间且宽度一样,所以给了一个宽1000px叫做gWidth类名的版心,盒子里面的元素时左右浮动的如果不清楚浮动则header盒子会没有高度,于是加了一个我们在reset里面写好的clearfix类名
  • header盒子下分左右两个盒子,左边是有链接跳转的广告图片,右边是浮动成行的导航链接
  • 左边广告图片是带有链接的用a标签包起来,右边是导航链接,对于导航链接一般做法是用ul li标签来做,间隔中的span用来做文字中间的竖线
样式详解
  • gWidt版心可能不像大家平时的margin:0 auto;这样的写法,这里多写了一点是为了怕覆盖,假如你这个盒子需要给margin-top/bottom值,被gWidt覆盖掉了就不起作用了。当然也可以把gWidt放到css最开始的地方也覆盖其他样式,但多留点心总是好的。
  • 右边导航普遍的写法是用ul li标签把li标签浮动成一行排列
  • 我们在li标签里面放置了a标签,先把a标签转行块(display: inline-block;),行内元素需要转了行块之后才可以设置宽高,设置高度与行高相同文字会在盒子里处于居中状态(height: 40px;line-height: 40px;),在这里设置了属性(vertical-align: top;)和我们在reset.css里面给img设置的(vertical-align: top;)是一个道理,在某些版本的浏览器里,像img,a等标签在父盒子里会有一个对齐的问题,这个对齐的问题主要导致了高度增加,打个比方,我不设置(vertical-align: top;),a的高度是40px这个没错,但是a在li里面,li由a撑开,因为某些浏览器默认版本a标签在父盒子里面的对齐方式问题会让li的高度会变成42px,所以设置(vertical-align: top;)之后,li的高度就能准确变成40px;当然也不用你每次写都要加个vertical-align: top;,因为这个是我们自己写的reset.css,当你去用别人写的reset.css时一般里面都已包含了这个问题的解决方案,在这里的reset.css只是为了帮助大家认识何为reset.css为什么要写reset.css
  • 文字中间的那条竖线用span来代替,span里面不要写|(竖),因为测量值是小于12px,12px是chrome浏览器最小字体,设置1px再小也只会是12px,一般的做法是给span转换成行块获得可设宽高的属性,设置宽1px高8px背景色黑色来替代竖线,但这里的做法是没有给span设置(display: inline-block;)来转行块,这里用了(float: left;),《css3权威指南》里有讲到行内元素设置浮动后也能获得可设宽高的属性。
<div class="header gWidth clearfix">
    <div class="ad fl">
        <a href="#"><img src="images/ad.jpg" alt=""></a>
    </div>
    <ul class="header_nav fr">
        <li><a href="#">登陆</a></li>
        <li><span></span></li>
        <li><a href="#">注册</a></li>
        <li><span></span></li>
        <li><a href="#">今天卡夫</a></li>
        <li><span></span></li>
        <li><a href="#" class="red">登陆登陆</a></li>
    </ul>
</div>
复制代码
/*公用*/

.gWidth {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
/*头部*/
 
.header {
    position: relative;
}

.ad,.ad img {
    width: 492px;
    height: 41px;
}

.header_nav {
    line-height: 40px;
    height: 40px;
}

.header_nav li {
    float: left;
}

.header_nav a {
    font-size: 12px;
    color: #757575;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    vertical-align: top;
    position: relative;
    _top: 2px;
}

.header_nav span {
    color: #020202;
    width: 1px;
    height: 8px;
    overflow: hidden;
    background-color: #000;
    float: left;
    margin: 16px 10px;
    /*        pc 端 chrome 不允许小于12px的文字    */
}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值