自己很喜欢查看设计出彩的网页,在CSS Zen Garden选择了一个颜色搭配亮眼、结构错落的网页,照着原页面自己写了一个出来。之前做页面的时候总是会把原页面和自己做的放到PS里一个像素一个像素对比查看,因为刚写完的页面整体看不出大的问题,但是对比之后会发现字体啦、浏览器兼容啦还有一些标签自带的margin、padding忘记reset啦之类的问题会导致像素偏差,尤其是当纵向出现偏差,越往下偏差就会越大了。再加上我有极度的强迫症,所以每次几乎都会保证自己写的页面和模板重合。

这次写这个页面的时候一开始就把我难住了。。。因为原页面的单位是用的em啊!天!我当时就无语了。因为...因为宝宝不会算啊!!百度了半天怎么算啊巴拉巴拉之类的,可是一套进去算发现根本不对。。。后来就索性直接用chrome的开发工具模式里面computed盒模型已经算好的值。。所以这个页面我坚决不能做重合检查工作了。。。不然我会自己把自己逼疯的。。。

整个页面看起来真的是很好看,而且实现起来也不难,仅仅是大面积使用background-color的颜色,穿插复古大图。以前看页面就是看高兴,觉得做起来很难,真正下手了,发现其实都是最基本的东西叠加在一起,比如错落感是怎么实现的?主要主要主要就是position各种定位,利用margin搭配padding呈现一种错落有致的感觉。

这里用到一些之前没有尝试过的标签属性,把这些列在这里:

(1)box-sizing:border-box;这个是CSS3的新增属性,border-box表示怪异盒模型,还有一个可选值是content-box是正常情况下的盒模型。这个页面很多使用的是border-box,比如下图,直接用border-box时,左边部分可直接用百分比表示宽度:width:40%;

border-box的可视宽=css设置的width,width=content宽+padding。(书上和百度出来的都是width=content宽+padding+border)可是自己验证出来是width=content宽+padding。为什么???whywhywhy啊?

(2)这个页面有很多标题旋转90°显示的,比如上面图最左边的标题,实现起来其实就是transform:rotate(-90deg);再加绝对定位position:absolute;移动至合适的位置。

(3)还用到一个属性,也是CSS3新增的:background-size:contain/cover/101%/50%;设置图片大小。还是用上图举例,深蓝色部分有个圆的背景图

其实是颜色背景+图片背景:

background: #0d2c40 url('img/icon-half.svg') right center no-repeat;

这个图片本来是很大的,这里因为深蓝色部分设置了width,所以这里可以用:

background-size: cover;

注意:cover和contain还是有区别的,自己写代码试一下就明白啦~

(4)这部分看起来是两个部分,实际上在写HTML这里的文字仅用了两种标签,一个h3,三个p标签,只不过对最后一个p标签单独设置了背景、position、文字颜色等。所以从这个页面中我发现一个真理:不要想当然!还有一个很重要:要动手做!!!!

(5)这个图里错落的感觉完全是用到margin、position,有时候要搭配padding正值和margin负值实现。

(6)这两个图中有个很重要的点之前确实不这么用,第一个图中很大的1、2、3、4和第二个图中的图片摆放实际是用到了::before!!

.requirements::before{
content: '';
position: absolute;
left: -486px;
top: 0;
z-index: 2;
-webkit-background-size: cover;
background-size: cover;
width: 454px;
height: 608px;
padding: 16px;
background:url("img/mid-century-2.jpg")no-repeat left center;}
.navigation nav li:nth-child(1)::before{
content: '1';
font-size: 700%; }

但是,这里要说一个大大的但是。。。那就是IE兼容!!!这些在IE6下运行的时候。。。ohmygod。。。完全没有美感了。。。因为IE6不支持CSS3的这一堆属性啊啊啊!好受伤。。。这种美美的界面我就只欣赏不做兼容了好了。。。=_=!!!

最后总结就是我真是服了我这没没见过世面的样子。。。各人审美不同,大神们可以无视我这种盲目的欣赏。一个页面就搞的自己很兴奋我也是醉了,之前问过一个师兄,他说页面好看不实用还是白搭,所以让我多做js啦数据交互啦之类的。不过管他呢,我就好这口啊。。。总会学到什么的,那就够啦~

多做多做多做!!!

												

CSS的重要性的更多相关文章

  1. 浅淡!important对CSS的重要性

    SS中的!important是一个非常重要的属性,有时候发挥着非常大的作用,52CSS.com这方面的知识并不是非常多,我们看下面的文章,对它作比较感观的了解. 前几天写一些CSS代码的时候又难为我了 ...

  2. 论样式表css的重要性

    如下图所示两个网页代码基本相同,但左边网页加入样式表后就形成了右边的视觉效果,由此可见 在网页中html用于标记,css用于显示,而JavaScript则用于增强与用户的交互性. 加入的代码是 < ...

  3. css权重计算方法浅谈

    在这之前只知道css权重的皮毛,比如说:行内权重比头部权重高,头部比外部样式权重高----工作中才知道真正理解css权重重要性.理解权重了才能写出来最优css选择器来.对后面学习less,scss有很 ...

  4. CSS 布局入门

    概述 Web 兴起之后,关于CSS的介绍和学习资料已经铺天盖地. 本文不涉及具体的CSS语法之类的,而是希望从初学者的角度,让没有接触或很少接触CSS的人能快速的了解 CSS 到底是什么以及如何使用. ...

  5. CSS 了解一下

    CSS 认识一下 1.CSS 的那些事 CSS(Cascading Style Sheets)译「层叠样式表」,我的理解是:各种样式叠加的表. 一个网页,如果没有 CSS,就是穿着"国王的新 ...

  6. Python 学习第十八天 js 正则及其它前端知识

    一,js 正则表达式 test 判断制度串是否符合规定的正则 (1)定义正则表达式匹配规则         js 中定义正则表达式为rep=/\d+/,两个//之间为正则模式 (2)rep.test( ...

  7. Qt之QLabel

    简述 QLabel提供了一个文本或图像的显示,没有提供用户交互功能. 一个QLabel可以包含以下任意内容类型: 内容 设置 纯文本 使用setText()设置一个QString 富文本 使用setT ...

  8. Matplotlib数据可视化(3):文本与轴

      在一幅图表中,文本.坐标轴和图像的是信息传递的核心,对着三者的设置是作图这最为关心的内容,在上一篇博客中虽然列举了一些设置方法,但没有进行深入介绍,本文以围绕如何对文本和坐标轴进行设置展开(对图像 ...

  9. CSS中继承,特殊性,层叠与重要性

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码: <html><head> ...

随机推荐

  1. java 中Session 持久化问题

    首先: 今天发现了个session 持久化的问题 在Tomcat 停止运行后再启动  session  中保存的东西还会存在 ,百度了一下 原理 1.Session Create 时 2.Sessio ...

  2. php crc32,md5,sha1,mhash测试结果

    总结:php  自带hash mhash 用于散列只能加密   扩展mcrypt 用于加解密 对文件加密有的文件会隐藏换行,或者读取方式等影响导致结果不一致. 1.crc32 php: a.系统crc ...

  3. 全端开发必备!10个最好的 Node.js MVC 框架

      Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API  以及大量的服 ...

  4. Apache、NGINX支持中文URL

    Apache(32位):安装环境:CentOS 5.6 + Apache 2.2.15安装结果:安装后支持“中文图片.文件名”链接直接打开以下为安装过程:1.下载安装包 wget ftp://ftp. ...

  5. AngularJS-UI-Router

    涉及知识点: $stateProvider,$urlRouteProvider ui-href $stateParams,$state 1.如何引用依赖angular-ui-router angula ...

  6. NetworkComms V3 使用TCP通信传递IList<T>类型的数据

    客户端从服务器获取一组IList<T>类型的数据非常常见(通常从数据库中获取) 我们用NeworkComms V3来演示一下(NetworkcommsV2.x版本也同样支持) [ 使用pr ...

  7. 让ie6对png透明图片支持起来

    [声明:此文仅是对低版本ie使用透明图片的一个研究,当时出于工作要求,所以花费了一番心思在兼容旧版本ie上,现在对ie8都是做降级处理了.不培养用户坏习惯.引导用户跟随潮流体验新技术应是我们前端开发者 ...

  8. jquery中select的应用

    //得到select项的个数 jQuery.fn.size = function(){ return jQuery(this).get(0).options.length; } //获得选中项的索引 ...

  9. 禁止浏览.htaccess文件

    很多黑客会攻击和利用.htaccess做网站跳转,所以保护好.htaccess文件尤为重要. 在apache的httpd.conf的配置文件中 默认是已经设置了禁止对.htaccess的访问,截取相关 ...

  10. Redis学习笔记~实现消息队列比MSMQ更方便

    什么是队列:简单的说就是数据存储到一个空间里(可以是内存,也可以是物理文件),先存储的数据对象,先被取出来,这与堆栈正好相反,消息队列也是这样,将可能出现高并发的数据进行队列存储,并按着入队的顺序依次 ...