CSS学习笔记——盒模型,块级元素和行内元素的区别和区别

今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面。自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面其实基础真的很差,今天在写页面的时候就被浮动啊、内外边距啊这些耽误了不少时间。

反思一下,自己确实在这些基础方面的不足很多,所以今后的学习笔记主要是我在工作中遇到的一些问题和他们的解决方法。其中可能中会有JS、CSS、HTML各方面的,我会把自己每一天学到的内容都记录一下,辅助自己打好基础。

今天在码代码的过程中记录了几个问题,这几个问题自己确实也是迷迷糊糊答不上来的:

1.盒模型到底是啥?肯定不是简单的div..

2.行内元素和块级元素的区别和他们的特点是什么?

3.CSS的定位机制主要有哪几种?

第一个问题:盒模型到底是什么?(下面是我查资料看书自己总结的)

盒模型是CSS实现页面布局的一种思想:把页面的所有元素都看成一个类似于礼品盒的盒子,礼品盒可能会有好多层包装组成,那么页面元素也对应的有内容、边框、内外边距等组成。这里特别提醒一下,盒模型是要把元素看成立体的,它确实有空间的属性,我在后面详细介绍。

盒模型的概念明白了,就该注意盒模型的种类了

目前有:标准盒子模型和IE盒子模型 2种盒模型。他们各自长这样:

根据上图可以看出他们的不同:

标准盒模型:元素的width和height = content

IE盒模型:元素的width和height =( content+border+padding )

因为存在这样的差异,所以要满足跨浏览器的时候就会比较麻烦。当然两种方式肯定是标准盒模型比较好,这里有一个解决跨浏览器的方案:

在网页顶部增加DOCTYPE的声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

这样会使所有浏览器按照W3C标准盒模型去解析页面元素,就满足了跨浏览器的要求了。

上面还提到了盒子模型是有空间的,主要表现在组成盒子的各个部分的层次不同。他们从上到下的顺序是

border----->content、padding----->background-image----->background-color----->margin

所以在处理页面元素的样式时还需要注意到这点。

第二个问题:行内元素和块级元素的区别和他们的特点是什么?总结如下:

块级元素会独占一行,默认情况下,其宽度自动填满其父元素宽度.

行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容而变化. 另外

  1. 块级元素可以设置width,height属性.
  2. 行内元素设置width,height属性无效,它的长度高度主要根据内容决定.
  3. 块级元素即使设置了宽度,仍然是独占一行.
  4. 块级元素可以设置margin和padding属性.

  5. 内元素的margin和padding属性,水平方向的padding-left,padding-right,margin-left,margin-
    right都产生边距效果,但竖直方向的padding-top,padding-bottom,margin-top,margin-bottom却不
    会产生边距效果.
  6. 块级元素对应于display:block.
  7. 行内元素对应于display:inline.

块级元素常见的有:div......行内元素常见的有:aspan

如果想让一个元素可以设置宽度高度,又让它以行内形式显示,我们可以设置display的值为inline-block。

第三个问题:CSS的定位机制主要有几种?

1.标准文档流形式(自上向下自左向右)

2.浮动float(主要针对块级元素设置)

3.绝对定位。

怎么样,是不是又有问题了。。。浮动是什么?绝对定位又是什么?人生真是一场场问与答啊!这两个问题明天解决。

2016年1月8日

不积跬步,无以至千里

PS:我查阅的大部分资料都是来自于网络,如有侵权,请联系我删除

时间: 2024-10-09 23:20:55

CSS学习笔记——盒模型,块级元素和行内元素的区别和区别的相关文章

css学习笔记----深刻理解块级元素和内联元素

前言 因为之前学习css时候急于求成,学习的很不扎实,对于display还有块级元素等知识都了解的非常模糊,于是,最近我决定来恶补一下. 其实块级元素.内联元素和display有着密不可分的关系,下面先看一下display的三个相关的属性. 一.display display跟块级元素相关的包括以下三个属性  block,inline,inline-block三个属性.(当然还包括很多其他的属性,详情请见 http://www.w3school.com.cn/cssref/pr_class_di

html中块级元素和行内元素

块级元素和行内元素的三个区别 1.行内元素与块级元素直观上的区别: 行内元素会在一条直线上排列,都是同一行,水平方向排列 块级元素独占一行,垂直方向排列.块级元素从新行开始结束接着一个断行 2.块级元素可以包含行内元素和块级元素, 行内元素不能包含块级元素 3.行内元素和块级元素属性的不同,主要是盒模型属性上 行内元素设置width无效,height无效(可以设置line-height), 行内元素margin上下无效,padding上下无效 行内元素转换块级元素,用css实现 display:

关于块级元素与行内元素

块级元素 块级元素拥有以下的几个特征: 如果宽度未设置,则元素会自动适应父元素的宽度 可以拥有外边距与内边距 如果高度未设置,则元素会自动适应子元素的高度(假设它们没有设置浮动与定位) 默认情况下,将放置在Html标记里前一元素之后(假设没有浮动或定位) 忽略vertical-align属性 所以,对于块级元素来说,我们没有必要设置width:100%来让它的宽度撑满父元素,而且那样做的话还有可能会对日后的维护带来麻烦. 而且,对于上述第四点来说,我们没有必要对块级元素设置"clear"

【CSS3】块级元素与行内元素的区别

一.行内元素与块级函数的三个区别 行内元素的特点: 和其他元素都在一行上: 高,行高及外边距和内边距部分可改变: 宽度只与内容有关: 行内元素只能容纳文本或者其他行内元素. 行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效 块级元素 总是在新行上开始,占据一整行: 高度,行高以及外边距和内边距都可控制: 宽带始终是与浏览器宽度一样,与内容无关: 它可以容纳行内元素和其他块元素. 二.行内元素转换为块级元素 display

块元素和行内元素

块元素: 1.占用整行宽度 2.前后都有换行符 3.拥有完整的盒模型结构 行内元素: 1.根据内容决定占用宽度 2.前后不换行 3.不拥有完整的盒模型结构 补充: warning: 1.一个内联元素设置为display:block是不允许有它内部的嵌套块元素. 2.块级元素可以包含行内和块级,但行内元素不能包含块级元素. 3.行内元素设置width无效,height无效,可以设置line-height, margin上下.padding上下无效.(水平方向排列)

盒子模型,块级元素和行内元素特性与区别

盒子模型 css盒子模型分为两种,一种是遵循w3c标准的标准盒子模型,另外一种就是IE盒子模型. 标准盒子模型 IE盒子模型 通过上面两张图可以看出,两种盒子模型都包括padding,margin,border,content,但是ie盒子模型的content包括border和padding. 一个例子 一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px.高为 50px. 标准盒子模型 盒子需要占据的位置为:宽 20

Web前端入门学习(4)—— 块级元素和行内元素之特征与转换

块级元素和行内元素  1.元素的定义 根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为"block",成为"块级"元素(block-level):而span元素的默认display属性值为"inline",称为"行内"元素.     div这样的块级元素,就会自动占据一定矩形空间,可以通过设置高度.宽度

CSS中块级元素和行内元素

文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不会独占一行. 几乎所有元素(包括块级,内联和列表元素)均可生成子行, 用于摆放子元素. 有三种情况将使得元素脱离文档流而存在,分别是浮动,绝对定位, 固定定位. 但是在IE中浮动元素也存在于文档流中(还让我觉得这样很合理><). 浮动元素不占任何正常文档流空间,而浮动元素的定位还是基于正常的文档流

css部分样式整理-特殊字体格式、导航栏固定、块级元素与行内元素、html 元素的margin与padding默认值、css样式优先级概括等

1.一些特殊字体样式: 首行缩进2字符:{text-indent:2em;} 水平居中:{text-align:center;} 两端对齐:{text-align:justify;} 垂直居中:{vertical-align: middle;} 字间距2字符:{letter-spacing:2em;} 行间距2倍:{line-height:2;}     2.导航栏固定在页面某处(相对于<body>):     {position:fixed;left:  px;top:  px;}  3.块