简单html以及css的用法详解
我将利用三天的时间来完成制作京东首页的静态页面效果,其中包含的内容有html以及css。
1、在开发进行之前,首先要配置开发环境:我们需要安装sublime webstorm vscode Hbuilder atom等开发软件,选择其一即可。我所使用的是webstorm。
2、在主文件夹中建立相关的项目文件夹 :为了将与项目相关的文件放在一块,便于管理和以后的维护。
其中:包括与项目相关的一些文件
主页或是首页 index.html default.html
Css文件夹 css文件的
Base.css global.css
Images文件夹 用来放置网站中的所有的图片
Js文件
音频或是视频文件
3、在这之后我们要进行样式初始化,一般所有网站开发之前都会进行样式初始化,例如淘宝、京东这样的大网站,都有自己的样式初始化css文件。如:
html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin: 0; padding: 0; } fieldset, img, input, button { border: none; padding: 0; margin: 0; outline-style: none; } ul, ol { list-style: none; } /*去掉原样式中的小黑点*/ input { padding-top: 0; padding-bottom: 0; font-family: "SimSun", "宋体"; } select, input { vertical-align: middle; } /*输入字居中显示*/ select, input, textarea { font-size: 12px; margin: 0; } /**/ textarea { resize: none; } /*防止拖动*/ img { border: 0; vertical-align: middle; /* 去掉图片底部默认的3像素空白缝隙*/ } table { border-collapse: collapse; /*合并外连线*/ } body { font: 12px/150% Arial, Verdana, "\5b8b\4f53"; /*unitedCode的写法,宋体的写法*/ color: #666; /*150%基于当前字体尺寸的百分比行间距*/ background: #fff; } .clearfix:before, .clearfix:after { /*清除浮动,最好最标准的写法*/ content: ""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; /*IE/7/6*/ /*兼容IE6下的写法*/ } a { color: #666; text-decoration: none; } a:hover { color: #C81623; } h1, h2, h3, h4, h5, h6 { text-decoration: none; font-weight: normal; font-size: 100%; } s, i, em { font-style: normal; text-decoration: none; } .col-red { color: #C81623 !important;/*京东主色调*/ } /*公共类*/ .w { /*版心 提取 */ width: 1210px; margin: 0 auto; } .fl { float: left; } .fr { float: right; } .al { text-align: left; } .ac { text-align: center; } .ar { text-align: right; } .hide { display: none; } |
这样可以方便开发人员对各个标签的样式的初始化以及公共类的重用。
4、分析网站结构
做网站的时候也有一个规范或是通例
布局的顺序一般是从上到下,从左到右
在写页面的时候,一般考虑使用标准流的元素,其次才使用浮动或是定位。
就在标准流元素当中,宽高是最稳定的,其实才使用padding,最后或者可以使用margin.
我们网站结构中的任何标签 都可以看成是一个盒模型,都可以设置宽高,只是有的元素设置了宽高之后,不起作用。
要想让行内元素的宽高起作用:
1. 将行内元素转换成块级元素或是行内块元素
2. 浮动 脱标
3. 定位 脱标
在布局行内块元素时,行内块元素之间有默认的几像素的间距。这几像素的间距只能用浮动来清除。
定位有四种:
Fixed absolute relative static
一般我们在分析网站结构时,使用火狐浏览器可以将这个网页截图之后保存下来:
然后我们可以使用fireworks来提取网站中的具体内容的宽高、颜色等。
Fw的常用快捷键:
I 滴管工具 吸取颜色
K 切片工具 量取元素的宽度
Z 放大镜工具
V 移动
A 指针工具
常用的复合属性:
Background
mso-char-indent-count:3.4900;">浮动的原因就是因为父盒子没有高度,原来的高度是靠标准流中的子元素撑起来,但是子元素浮动了之后 ,脱离标准流了,造成父级元素的高度为0;
1.给父盒子设置一个高度
2.Clear: both
3.Overflow: hidden 触发了BFC模式 也可以用来清除浮动
4.伪元素或是双伪元素清除法
.clearfix:before, .clearfix:after { /*清除浮动,最好最标准的写法*/ content: ""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; /*IE/7/6*/ /*兼容IE6下的写法*/ } |
(一般常用伪元素的方法来清除浮动)
定位元素的层级问题:
如果只给一个元素绝对定位,而不写trbl值的话,会以原位显示
定位(相对和绝对或固定)的元素都有一个层级的属性或是概念。如果定位了的相邻多个元素,在同一个位置的话,后面的元素默认会压住前面的元素。如果同样是定位了的元素,默认他们的层级都是0,只不过后面的元素会压住前面的元素。如果想让当前的元素显示在后面的元素之上,这个时候就需要改变层级的关系,用z-index来改变。
z-index的取值范围0---9999999,最好是正数,尽量不要用负数。
另外要注意,position:relative依旧会占据标准流中的位置,会导致其他内容无法在其层级上显示。
透明度opacity
Opacity:有兼容性问题,而且不但让背景颜色透明,而且还让里面的内容也透明
background: rgba(0,0,0,.3);
仅让背景色透明,内容不透明
相邻元素的层级问题
淘宝网页中鼠标移入后边框闪现效果
<style> * { margin: 0; padding: 0; } div { width: 200px; height: 500px; border: 10px solid blue; float: left; /*margin-right: 10px;*/ margin-left: -10px; position: relative; /*定位了的元素,默认的都会有层级的概念,而且默认的层级都是0*/ } div:hover { border-color: red; position: relative; z-index: 1; } </style> </head> <body> <div></div> <div></div> <div></div> <div></div> <div></div> </body> |
这样就可以通过相邻元素的层级问题,用hover伪元素来控制边框的颜色以及其他属性,达到淘宝那样的效果。
以上这篇简单html以及css的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考。
原文地址:http://www.cnblogs.com/moyong/archive/2016/07/27/5709491.html