提高篇笔记

第四章:内联块(inlineblock)

*小知识点:


:分割线
行高和高度一样时文字垂直居中。
hover{····}:鼠标移动到某处时发生的动态变化。
hover, .class选择器名:当前选中某页面。
display:规定元素生成的框类型;
划分区域的框默认样式:四边形并且每个角都是90度。

块元素的特征:

1.没有设置宽度时,默认撑满一行。
2.默认块元素独占一行。
3.支持所有CSS命令。

内联元素的特征:

1.宽高由内容撑开。
2.不支持宽高。
3.一行内可以继续显示跟同类的标签。
4.不支持上下的margin
5.代码换行被解析

display:block 显示为块
使内联元素具备块属性标签的特性
display:inline 显示为内嵌
使行块属性标签具备内联元素的特性

Inline-block的特点:

1、块元素能在一行显示;
2、内联元素支持宽高;
3、没有宽度的时候由内容撑开宽度;

第五章:浮动(float)

*inline-block 特性:
1.块在一排显示
2.内联支持宽高
3.默认内容撑开宽度
4.标签之间的换行间隙被解析(问题)
5.ie6 ie7不支持块属性标签的inline-block(问题)

float

float:left(左) right (右)none(没有)inherit(继承);
浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
文档流是文档中可显示对象在排列时所占用的位置。

float:left;---div1 div2 div3
float:right;---div3 div2 div1

clear:left (左)right (右)both (左右两边)none (没有)inherit (继承);元素的某个方向上不能有浮动元素
clear:both; 在左右两侧均不允许有浮动元素。

float的特征:
1.块在一排显示
2.内联支持宽高
3.默认内容撑开宽度
4.脱离文档流
5.提升层级半层

清除浮动:
1.clear

clear:left (左)right (右)both (左右两边)none (没有)inherit (继承);元素的某个方向上不能有浮动元素
clear:both; 在左右两侧均不允许有浮动元素。

2.加高度

问题:高度不定时不方便清除,扩展性不好。

3.父级浮动

问题:页面中所有元素都加浮动,margin左右auto失效(floats bad !)

4.inline-block 清浮动方法:

问题:margin左右auto失效;

5.空标签清除浮动

问题:IE6 最小高度 19px;(解决后IE6下还有2px偏差)

6.br清除浮动 <br clear="all"/>

问题:不符合工作中:结构、样式、行为,三者分离的要求。

7.after伪类清除浮动方法(现在主流方法)给浮动元素的父级加after伪类

after伪类: 元素内部末尾添加内容;
after{content"添加的内容";} IE6,7下不兼容
zoom 缩放
a.触发 IE下 haslayout,使元素根据自身内容计算宽高。
b.FF 不支持;

clear:after{content:'';display:block;clear:both;}
clear{zoom:1;}

以下形式触发BFC:
BFC (block formatting context) 标准浏览器
a.float的值不为none。
b.overflow的值不为visible。
c.display的值为table-cell, table-caption, inline-block中的任何一个。
d.position的值不为relative和static。
e.width|height|min-width|min-height:(!aotu)

以下形式触发 IE下 haslayout:
a.writing-mode:tb-rl
b.-ms-writing-mode:tb-rl
c.zoom:(!normal)

8.overflow:hidden 清浮动方法;给浮动元素的父级加overflow

问题:需要配合 宽度 或者 zoom 兼容IE6 IE7;
overflow: scroll | auto | hidden;
overflow:hidden;溢出隐藏(裁刀!)(超出父级隐藏)
overflow:scroll;(超出父级有滚动条)

第六章:定位(position)

position:relative; 相对定位

*需要谁移动就给谁加定位
a.不影响元素本身的特性;
b.不使元素脱离文档流(元素移动之后原始位置会被保留);
c.如果没有定位偏移量,对元素本身没有任何影响;
d.提升层级

定位元素位置控制
top/right/bottom/left (上 右 下 左)定位元素偏移量。
top:200px; 上部留有200px。
left:200px; 左侧留有200px。

position:absolute; 绝对定位

a、使元素完全脱离文档流(元素移动之后原始位置不会被保留);
b、使内嵌支持宽高;
c、块属性标签内容撑开宽度;
d、如果有定位父级相对于定位父级发生偏移,没有定位父级相对于document(浏览器可视区域的)发生偏移;
e、相对定位一般都是配合绝对定位元素使用;
f、提升层级
*层级:代码从上往下执行,后面的能覆盖前面的。
z-index:number;定位层级
a.定位元素默认后者层级高于前者;
b.建议在兄弟标签之间比较层级

position:fixed; 固定定位

与绝对定位的特性基本一致,差别是始终相对整个文档(浏览器可视区域的)进行定位;问题:IE6不支持固定定位;

position:fixed;
right:0;              可直接定位方向
bottom:0;

position:relative | absolute | fixed | static | inherit;
position:static ; 默认值
position:inherit ; 从父元素继承定位属性的值 (不兼容)
position:absolute; 绝对定位元素子级的浮动可以不用写清浮动方法;
position:fixed; 固定定位元素子级的浮动可以不用写清浮动方法;(IE6不兼容)
position:relative | absolute | fixed | static | inherit;

遮罩弹窗:
标准浏览器透明度设置: opacity:0~1; (完全透明~不透明)
父级加透明度子级也会被继承。
IE浏览器6.7下的透明度设置: filter:alpha(opacity=0~100); (完全透明~不透明)

第七章:表格表单(tableform)

表格标签:

table 表格
thead 表格头
tbody 表格主体
tr 表格行
th 元素定义表头
td 元素定义表格单元

<table border=" ">:表格边框
(与table{border-collapse:collapse;} 配合使用)

*写代码时以行为单位去写

表格样式重置

table{border-collapse:collapse;} 单元格间隙合并
th,td{padding:0;}重置单元格默认填充

单元格合并

colspan 属性规定单元格可横跨的列数。
<td colspan="2"></td> 合并两个单元格
rowspan 属性规定单元格可横跨的行数。
<td rowspan="2"></td> 合并两个单元格

合并的数量+剩余的数量=总数
一行合并删当前行,跨行合并删除当前行的其他行。

表单

表单:form (用户输入对应东西的)
<form action=""></form>(action属性是提交的地址)
<input type="··· " name="···" value="···" />
input:单标签 type:类型 name:提交的信息是做什么的
value:默认输入的信息

text 文本框,输入框
password 密码
radio 单选 name后面的需要保持一致
checkbox 复选 name后面的需要保持一致
submit 提交
reset 重置
button 按钮
image 图片
file 上传
hidden 隐藏

代码如下:

<input type="text" name="user_name" value="输入框">
<input type="password" name="password" value="">
<input type="radio" name="sex" value="men">男
<input type="radio" name="sex" value="women">女
<input type="checkbox" name="xingqu" value="chi">吃
<input type="checkbox" name="xingqu" value="shuijiao">睡觉
<input type="checkbox" name="xingqu" value="dadoudou">打豆豆
<input type="button" value="自定义按钮">   一定要加value
<input type="image">   
<input type="file">   上传文件
<input type="hidden" value="yincang"> 隐藏不需要用户看到的数据
<input type="submit">  不设置value显示提交,设置显示value的信息
<input type="reset">    不设置value显示重置,设置显示value的信息

第八章:兼容性讲解

fuckIE(一)

每个浏览器都有不同的内核,不同的处理引擎,导致同一条样式的处理方式是不一样的。每个浏览器上的不同差异称之为兼容性。

H5标签兼容。H5标签在IE6,IE7下是没有用的。
原因:IE6不是标准的浏览器。
方式一(动态创建自定义标签):

<script>   动态去创建的标签是自定义标签,默认的是内联元素,不支持宽高,在主体中需要转换为块元素"diaplay:block;"
    document.createElement("header"); 创建"header"节点
    document.createElement("section"); 创建"section"节点
    document.createElement("footer"); 创建"footer"节点
</script>  

方式二(引用js):

<script src="js/html5shiv.js"></script>
fuckIE(二)

元素浮动之后,能设置宽度的话就给元素加宽度.如果需要宽度是内容撑开,就给它里边的块元素加上浮动;
解决方案:需要谁浮动就给浮动加给谁。

第一块元素浮动,第二块元素加margin值等于第一块元素,在IE6下会有间隙问题;
解决方案:
1.不建议这么写。 原因:脱离文档流的元素和没有脱离文档流的元素有层级差异。
2.用浮动解决。

fuckIE(三)

IE6下子元素超出父级宽高,会把父级的宽高撑开
解决方案:不要让子元素的宽高超出父级。

p 包含块元素嵌套规则
块元素不能嵌套块元素:<p> <td> <h1>-<h6>

margin兼容性问题:
1.margin-top传递给父级
解决方案:触发BFC,haslayout
2.上下margin叠加
解决方案:尽量使用同一方向的margin,比如都设置top或者bottom

fuckIE(四)

display:inline-block:
*:针对不同浏览器进行处理
解决方案:

*display:inline;
*zoom:1;

IE6 最小高度问题:19px
解决方案:*overflow:hidden;

fuckIE(五)

IE6 双边距:
<body>默认样式边距:8px
当元素浮动后再设置margin那么就会产生双倍边距(左侧)
解决方案:针对IE6和IE7添加:*display:inline;

li里元素都浮动 li 在IE6 7 下方会产生4px间隙问题:
间隙由li产生。
解决方案:针对IE6和IE7添加:*vertical:top;

fuckIE(六)

浮动元素之间注释,导致多复制一个文字问题:
条件:两个浮动元素中间有注释或者内联元素并且和父级宽度相差不超过3px。
解决方案:
1.两个浮动元素中间避免出现注释或者内联元素
2.与父级宽度相差3px或以上。

IE6 7 父级元素的overflow:hidden 是包不住子级的relative:
解决方案:针对IE6和IE7给父级元素添加相对定位。

fuckIE(七)

IE6下绝对定位元素父级宽高是奇数,绝对定位元素的right和bottom值会有1px的偏差:
解决方案:避免父级宽高出现奇数

IE6下绝对定位元素和浮动元素并列(同级)绝对定位元素消失:
解决方案:只要绝对定位元素和浮动元素不处于同级就可以避免绝对定位元素消失。

IE6 下input的空隙:
解决方案:针对IE6和IE7给input元素添加float

fuckIE(八)

IE6 下 输入类型表单控件背景问题:
输入类型表单控件:需要用户输入的表单控件
解决方案:设置background-attachment:fixed;

*(hack):针对不同的浏览器写不同的CSS 样式的过程,就叫CSS hack!

\9 IE10以及IE10以下版本的浏览器
*IE7以及IE7以下版本的浏览器
_IE6以及IE6以下版本的浏览器

fuckIE(九)

png-24 兼容性问题:IE6不支持png-24 图片
解决方案:
1.JS插件(问题:不能处理body之上png24)

<script src="js/DD_belatedPNG_0.0.8a.js"></script>
<script>
            DD_belatedPNG.fix("img, div");
</script>

DD_belatedPNG.fix('标签名,标签名');

2.原生滤镜:(能处理body之上png24)

_background-image:none;
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="XX.png", sizingMethod="crop");

样式优先级:
默认 < 类型 < class < id < style(行间) < !important
提升样式优先级:
!important 提升样式优先级或权重

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,630评论 1 92
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,088评论 0 1
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,760评论 0 6
  • 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能...
    卡卡西哥哥阅读 495评论 0 1
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,199评论 0 8