盒子模型

在页面中,我们将所有的元素全部看做是一个盒子,页面布局就是将大大小小不同的盒子堆砌在一起,而一个盒子由以下几部分组成:

padding:内边距,内容到边框的距离;

margin:外边距,其他盒子到当前盒子的边框的距离;

border: 边框;

所以一个元素在页面中实际所占的空间是:

内容+padding+border+margin(注意:padding/margin/border上下或者左右都有,所以计算时要算上设置的值得两倍;)

怪异盒子模型:

怪异盒子模型所设置的宽高即为其在页面中最终所占的位置,边框、内外边距所占的位置越大则内容区域越小。

开启怪异盒子模型的方法:box-sizing:border-box;

其最先由IE浏览器提出并使用,后被广泛使用。

margin塌陷:当使用margin来调整两个元素之间的距离时,并不会以两个元素之间的margin之和来表示,而是以两个元素的margin最大值为准。

解决的方法:触发BFC(会计格式化上下文)

页面中实现多出内容省略号显示的方法(CSS):

首先为容器设置一个宽度;

然后设置文本内容不换行:white-space:nowrap;

之后是设置溢出隐藏:overflow:hidden;

最后则是在内容最后显示省略号:text-overflow:ellipsis;

tips:以上方式仅对单行文本溢出有效(不建议使用)

定位

相对定位:

position:relative;

设置了相对定位之后,元素并没有进行位移,本质上也没有任何变化。

相对定位形影分离,元素的位置不会改变,影子移动到用户所设定的位置。

相对定位的参考点是元素本身,也就是相对于设置了相对定位的元素进行了多少移动,所以当元素进行移动的时候,其影子也会跟着移动。

绝对定位:

position:absolute;

绝对定位移动的是元素本身;

绝对定位的参考点是由其本身向上找,第一个拥有定位属性的祖先元素,当其所有的外层容器都没有定位元素的时候,默认为根元素。

绝对定位以根元素为参考时定位的是首屏左上角,定位值默认为auto,bottom是首屏的下方。

子元素如果设置了绝对定位,最好为父元素设置一个相对定位(父元素设置position:static并不能作为子元素绝对定位的参考)。

固定定位:

position:fixed;

固定定位是相对于浏览器窗口的定位,定位效果类似于平时网页上弹出的小广告的效果,页面滚动而固定定位的元素完全不动。

粘性定位:

position:sticky;

因兼容性太差,这里不多做赘述。

tips:固定定位与绝对定位脱离标准文档流,相对定位并不会脱离标准文档流,当然,固定于绝对定位也是脱离文本流的,不会出现类似浮动所产生的字围效果。

bfc渲染规则:

1、内部的box会在垂直方向一个接一个的放置;

2、box垂直方向距离由margin决定,同一个bfc的两个相邻box会发生margin塌陷;

3、每个元素的marginbox的左边与包含块borderbox的左边相接触;

4、bfc区域不会与float box重叠;

5、bfc就是一个隔离的独立容器,里面元素无法影响外面,反之亦然;

6、计算bfc高度时,浮动的元素也会被算上(所以触发bfc可以消除浮动的影响)。

css当中经常使用的六种文本样式

css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式。

首行缩进

首行缩进是将段落的第一行缩进,这是常用的文本格式化效果。一般地,中文写作时开头空两格,类似于此。

该属性的值是允许为负值的。

语法:

text-indent:<length> | <percentage> | inherit

tip:初始值为0;

应用于: 块级元素(包括block和inline-block)

继承性: 有

百分数: 相对于包含块的宽度

案例:首字符下沉

div{
width: 200px;
border: 1px solid black;
text-indent: 0.5em;
}
div:first-letter{
font-size: 30px;
float: left;
}

水平对齐

水平对齐是影响一个元素中的文本的水平对齐方式。

语法:

text-align: left | center | right | justify | inherit

初始值: left

应用于: 块级元素(包括block和inline-block)

继承性: 有

对于IE7-浏览器来说,使用text-align不仅会改变文本的水平对齐方式,也会改变后代块级元素的水平对齐方式

字间隔

字间隔是指单词间距,用来设置文字或单词之间的间距。实际上,"字"表示的是任何非空白符字符组成的串,并由某种空白符包围。

注意:单词之间用空格分开,单词之间的间距 = word-spacing + 空格大小

注意:字间隔可为负值

语法:

word-spacing: <length> | normal | inherit

 初始值: normal(默认为0)

 应用于: 所有元素

 继承性: 有

字母间隔

字母间隔是指字符间距

注意:字母间隔可为负值

letter-spacing:<length> | normal | inherit

初始值: normal(默认为0)

应用于: 所有元素

继承性: 有

文本转换

文本转换用于处理英文的大小写转换。

语法:

text-transform:uppercase(全大写) | lowercase(全小写) | capitalize(首字母大写) | none | inherit

初始值: none

应用于: 所有元素

继承性: 有

文本修饰

文本修饰用于为文本提供修饰线。

注意:文本修饰线的颜色与文本颜色相同。

语法:

text-decoration:none | [underline(下划线) || overline(上划线) || line-through(中划线)] | inherit

初始值: none

应用于: 所有元素

继承性: 无

在首行缩进(text-index)、水平对齐(text-align)、字间隔(word-spacing)、字母间隔(letter-spacing)、文本转换(text-transform)、文本修饰(text-decoration)这6种文本样式中,首行缩进(text-index)和水平对齐(text-align)只能够应用于块级元素(包括block和inline-block),这是最应该注意的地方。

Web前端基础学习-2的更多相关文章

  1. web前端基础学习路线

    1.HTML和CSS的基础知识,完成网页的初步设计 2.JavaScript基础知识和DOM.BOM的学习 3.前端基础框架:CSS框架Bootstrap.JavaScript框架jquery的熟悉使 ...

  2. Web前端基础学习-1

    HTML5/CSS简介 首先来说一说什么是HTML5,HTML5可以认为是字面上的意义,也就是HTML的第五代产品,当然从另一个角度来说它是一种新的富客户端解决方案. HTML5 将成为 HTML.X ...

  3. Web前端基础学习-3

    bfc(block formatting context) 块级格式化上下文 生成bfc的方式: 1.根元素: 2.float属性不为none(脱离文档流): 3.position为absolute或 ...

  4. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  5. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  6. web前端的学习误区

    web前端的学习误区  网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们 ...

  7. 绝版珍珍藏:web前端技术学习指南

    绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...

  8. web前端开发学习路线图

    Web前端是一个入行门槛较低的开发技术,但更是近几年热门的职业,web前端不仅薪资高发展前景好,是很多年轻人向往的一个职业,想学习web前端,那么你得找到好的学习方法,以下就给大家分享一份适合新手小白 ...

  9. 史上最全的web前端系统学习教程!

    这份资料整理花了近7天,如果感觉有用,可以分享给更有需要的人. 在看接下的介绍前,我先说一下整理这份资料的初衷: 我的初衷是想帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限 ...

随机推荐

  1. Kintex7 XC7K325T 板卡三剑客

    (226)基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡   (227)基于Xilinx Kintex-7 FPGA K7 XC7K325T的FMC U ...

  2. Switch能否用String类型做参数?

    switch(expr): 其中,expr参数可以是一个枚举常量(由整型或字符类型实现)或一个整数表达式,其中整数表达式可以是基本类型int或其包装类Integer.由于byte.short和char ...

  3. 前端移动开发--viewpoint

    移动开发时,一般都会在头部加载这样一行meta标签 <meta name="viewport" content="width=device-width, initi ...

  4. 线程中的sleep()、join()、yield()方法有什么区别?

    sleep().join().yield()有什么区别? sleep() sleep() 方法需要指定等待的时间,它可以让当前正在执行的线程在指定的时间内暂停执行,进入阻塞状态,该方法既可以让其他同优 ...

  5. HTTP协议-Cookie和Session详解

    前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的跟踪技术就是Cookie和Session. Cookie通过在客户端记录信息确定用户身份,Session通过在 ...

  6. Delphi Treeview 用法(概念、属性、添加编辑插入节点、定位节点、拖拽等)

    今天再细研究了一下Treeview的用法,网上虽然总结了很多,但是还是有很多节点没有讲到了,也给使用中遇到很多问题.特地总结一下: 1.概念 Treeview用于显示按照树形结构进行组织的数据.Tre ...

  7. Linux系统重要文件

    Linux系统重要文件介绍与配置 一网卡配置文件 (一)网卡配置文件参数介绍 文件路径信息:/ec/sysconfig/network-scripts/ifcfg-eth0 文件作用说明:配置网卡地址 ...

  8. 三、PCB设计与Allegro基本概念

    PCB:印制电路板 如--update更新时无法变为0 4.区域规则--设置区域规则--赋予区域轮廓 5.铜皮 把.sav改为.dsn--就可以恢复出突然关闭的.dsn文件 生成规则钻孔文件(.drl ...

  9. 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件

    用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器的 ...

  10. windows防火墙批量开放端口

    windows自带的防火墙没有增加端口范围的功能,这让一些常见的配置变得非常麻烦(比如FTP被动模式下,就需要在防火墙上开启端口范围),经过查询资料,使用以下cmd批处理内容,即可增加端口范围: ec ...