zoukankan      html  css  js  c++  java
  • css+html 总结+归纳

    趁着清明的3天时间,我专门看了xhtml的一套视频,虽然是xhtml但是也隐喻了很多经验,巩固了一下自己的基础,我自己也写了很多大大小小的东西,但是越写我越发觉自己基础的薄弱,果然没错!还是学到了一些我以前没理解、不知道的一些概念和一些经验之谈,这里我写一篇文章做一个总结。


    一、首先W3C标准

    结构、表现、动作  与  html、css、javascript相对应,它本意是结构表现分离,而且按照html规范编写结构。

    标签方面:

    -所有标签都要小写、关闭、并且合理嵌套,id不能重复

    -标签要有属性,属性必须有值,并且用“”表示

    -img标签不能忽略alt属性

    -表格标签不适用height属性

    -尽量减少ifream的使用会影响浏览器响应速度,虽然在html5中也能使用ifream

    内容模型:

    -body、form、blockquote仅能包含块级元素

    -文本、图像、链接等内联元素不能直接暴露在body标签中,必须用其他标签包裹

    -内联元素不能包含块级元素

    其他方面:

    -特殊字符用编码表示

    番外:

    初学者的误区:

    1、div是万能的!

    2、table是丢人的!

    3、为标准而标准

    1、div严格意义上称作容器,大家有一些页面的装饰可以通过嵌套div来实现,但是千万不能整个页面全都用div来编写,很多标签是有特定含义的,比如说h1~h3,p,strong等,在html5中就更加语义化了比如,footer、head、nav、article、section等标签,还有很多标签,我这里只说常用的一些标签,而且如果整个页面全都用div来写不便于搜索引擎搜索到你的网站。

    2、table并不丢人,只不过很少用而已,table是用来装载数据的,所有标签只要合理应用就不会丢人。

    3、我们写网站网页其实说白了是为了客户和用户来看的,根据他们的需求我们学出对应的网站,我们强调页面应该灵活编写,不能死板的来。

    二、你必须掌握的

    1、块状元素和内联元素

    (1)块状元素

    块元素一般是其他元素的的容器元素,块元素一般从新的一行开始,它可以容纳文本、内联元素和其他块状元素,通过width和height属性可以设置其大小,常见的块元素有 h标签 和p标签、div标签

    番外:form标签也属于块标签并且只能容纳块级标签

    (2)内联元素

    内联元素非块级元素。内联元素只能容纳文本或者其他内联元素,不会独占一行,width和height对其不起作用,常见的内联元素有 a img span 等

    番外: 这里我提一下 w3c为了让开发人员更方便 增加了一个 inline-block 属性值 ,包含块状元素的特点:能够改变元素大小,也包含内联元素的特点:大小只有盒内元素大小

    2、盒子模型

    下图能代表所有,具体和深入请看各种大神技术博:

    3、css页面控制样式方法

    (1)行内式

    (2)内嵌式

    (3)链接式

    (4)导入式

    优先级:

    就近元素,行内>内嵌>链接>导入,在国内经前端经常用的是 链接式。

    4、常用选择器

    -标签选择器(div、p)

    -id选择器(#)

    -类选择器(.)

    -通用选择器(*)

    -伪类选择器(:link,:active,:hover,:visited)

    优先级:

    ID>类>标签>通用

    5、文本流

    文本流讲述的是一个概念性的东西,页面内的元素是:从上至下、从左自右的顺序进行排列的。

    番外:

    如何脱离文本流?

    我们为了方便布局,通常使用浮动和定位的方式布局

    6、命名方法

    -骆驼命名法

    -帕斯卡命名法

    -匈牙利命名法

    -或者全首字母大写

    命名规则:

    头:head/header

    内容:content/container

    尾:foot/footer

    导航:nav/navigation

    侧栏: sidebar

    三、css的控制能力

    1、首行缩进

    text-indent:2em; 

    如果文字是英文,也是缩进2个汉字的宽度

    知识点:

    px 像素

    rem 相对浏览器的单位

    % 百分比单位

    cm、mm 绝对单位

    2、增强页面文字灵活性

    在body中设置文字大小font-size:62.5% 在需要设置12px的地方设置文字大小为1.2em以此类推14px相对1.4em

    因为任意浏览器默认字体高度为16px   1em=16px

    1px=1/16em   10px=10/16em=0.625em=0.625*1em=62.5%*1em

    12px=62.5%*1.2em

    14px=62.5%*1.4em

    16px=62.5%*1.6em

    番外:

    ie下设置1.2em会比12px大,为什么? 怎么处理?

    因为ie浏览器总是吧 62.5 小数点换算错所以我们以后设置页面大小直接设置为63%就可以兼容所有浏览器

    3、浮动和定位

    浮动:

    float:left

    float:right

    定位:

    position:absolute

    position:relative

    番外:

    清除浮动:

    -clear:both

    -clear:left

    -clear:right

    浮动清除的并不是本元素的浮动,清除的是上级元素对于本元素的影响,我们可以讲页面整体分为三级

    第一级是文本流 也就是页面默认的显示方式

    第二级是浮动 它脱离文本流向上一层

    第三级是定位 它是比浮动更高一级的为第三级

    4、position

    -absolute

    -relative

    -static

    -Inherit

    -Fixed

    Absolute:绝对定位,绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块,绝对定位比较灵活如果你想,可以定位到浏览器的任意点

    Relative: 相对定位,相对与父级盒子定位

    static:默认的元素定位方式

    inherit:继承父级盒子的position属性   这个没多大用,如果我们要继承的话,倒不如自己重写一个省的自己再找一遍元素。

    Fixed:元素固定在浏览器body的一个位置,浏览器上拉下拉都不会改变位置

    番外:一般网站都是都是以浮动为主,定位为辅,你们可以看看现在的淘宝网站。

    5、CSS Reset 

    css样式具有继承和重置的作用

    常用的CSS Reset

    *{ margin:0,padding:0 }

    body,div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,textarea,th,td {padding:0; margin:0;}

    table {border-collapse: collapse; border-spacing: 0;}

    img {border: 0;}

    ol,ul{list-style: none;}

    h1,h2,h3,h4,h5,h6 {font-weight: normal; font-size: 100%;}

    四:页面调试/纠错方法

    1、页面debug调试

    2、排除法

    3、设置背景法

    番外:

    网站的页面的加载顺序是按照文本流的顺序加载,

    我们编写页面优先考虑:

    1、搜索引擎加载

    2、便于浏览者观察

    3、页面结构简单整洁

    最后

    告诉大家一个调试神器:http://getf5.com/

    以上是一些经验之谈和一些基础的东西。
    本文如果有描述错误的地方希望及时指出,我会积极改正。
    生命不止、学习不止。 
    越学习越发现自己不足的地方还有很多,我会继续加油的!

  • 相关阅读:
    会议室预订系统
    event chrome firefox 获取点击对象的 id 类
    微信支付 301 500 php 7 simplexml_load_string
    会议室预订
    ini_set('date.timezone','Asia/Shanghai');
    UnionID OpenID
    Location 接口表示其链接到的对象的位置
    confirm() event.target.getAttribute('id')
    php 代替 js实现自定义时间选择器
    前端页面 重复提交避免
  • 原文地址:https://www.cnblogs.com/kitebear/p/4398880.html
Copyright © 2011-2022 走看看