【干货】Html与CSS入门学习笔记9-11

九、盒模型 与元素亲密接触

1、盒模型

css将每个元素都看做一个盒子,包括以下属性:

内容区content area:包含内容,内容可以决定大小,也可以自行设定宽度和高度。元素的width属性指定的就是内容区宽度,可以按像素指定也可以按百分比相对于元素所在容器如body div 的大小来指定。

内边距padding:内容区外的透明区域,可以看做元素的一部分,对元素设定背景会延伸到内边距。

边框border:内边距周围的边框。

外边距margin:边框外的透明区域,提供元素与元素之间的间隔,元素背景不会延伸到外边距。元素的(内联,如图像)左右外边距会相加,(块元素)上下外边距会折叠,取最大的,嵌套也是如此。另外,浮动元素的外边距与正常流中的外边距不会折叠。

2、其他

背景图像属性background-image: url(images/background.gif)

背景图像位置background-position:top left 可以按像素、百分数和关键字指定,这个就是左上角的意思

背景图像重复background-repeat:有repeat 在水平和垂直方向重复,默认。no-repeat不重复,只显示一次。repeat-x在水平方向上重复。repeat-y在垂直方向上重复。inherit继承父元素设定。

边框除了border-syle border-width border-color还可以设定圆角,border-radius:15px;或3em;可以用像素也可以用比例(相对元素字体大小)来指定圆角半径大小。也可指定一边圆角,border-top-left-radius:3em;左上圆角。

id属性:在html中加入<p id="footer">  </p>,在css中设定样式,#footer{color:red;}或p#footer{color:red;}(类是用“.”)

多个样式表:加入多个link,最下面的最优先。

样式表针对媒体类型:浏览器会通过媒体类型来确定使用的规则,不匹配的忽略。

在link中增加一个media属性,<link rel="stylesheet" href="loung-mobile.css" media="screen and (max-device-width: 480px)">,针对有屏幕且屏幕宽度不超过480px。

也可以直接在css中单独指定,@media screen and (max-device-width: 480px){       },在这个大括号里放入针对此媒体的规则。

十、div与span 高级web建设

div划分逻辑区,将一堆相关的块元素放在一起。

子孙选择器: #elixirs h2会选择嵌套的所有h2,不论是直接子孙还是下级的,不用一层层往下写,会自动选择所有的,不管在多少层。

对属性赋值可以有很多简写:font: normal/1.2em bold san-serif; 其中,字体大小/行间距,其他用空格隔开,顺序无所谓。

span划分逻辑区,将一堆相关的内联内容放在一起。<span class="cd"></span>

1、伪类

伪类是直接在元素后面加“:”,例如a:hover,可直接在css中用而不用在html中像类一样定义,因为是浏览器预先设定好的。

a一般顺序是:a:link{} 未访问状态链接

a:visited{}已访问状态链接

a:hover{}鼠标悬停上时状态

还有其他伪类,如first-child对应第一个子元素,last-child最后一个子元素,even(2n)第偶数个子元素,odd(2n+1)第奇数个子元素。

十一、布局与定位 摆放元素

浏览器从html文件最上面开始,从上到下,从左到右,逐个显示遇到的元素,其中每个块元素有一个换行,这就是流flow。所以,块元素是从上到下,内联元素是从左上到右下。

1、浮动float

为元素设置float属性(首先必须为该元素设定宽度width),浏览器会从流中删除这个元素,其他元素继续按照流摆放,当做没有这个浮动的元素,但是后面的块元素的内联元素会绕着这个浮动元素。

为元素设置clear属性,如clear:right;则该元素右边不允许出现浮动元素,如果有就一直往下移,直到右边没有浮动元素。

2、三种布局

流体布局liquid layout,就是通过流,宽度不固定的设计,这样浏览器调整宽度时,元素会跟着扩展,填满浏览器。

冻结布局frozen layout,为整个内容区大div设置宽度,浏览器调整宽度时,内容区不会变,但右边留白会越来越大。

凝胶布局jello layout,为整个内容区大div设置宽度,同时设定margin-left, margin-right: auto;这样浏览器扩展时,内容区会保持大小不变,但始终居中。

3、四种定位position

属性position: static; 静态定位,是默认方式(不设置时),就是将元素放入正常的流中布置。

position: absolute;绝对定位,相对于页面或最近的父元素固定,根据其他left top(可以用像素也可以用百分数)属性确定位置。从流中删除,块元素和内联元素都不知道该元素的存在,内联元素也不会绕着它摆放。

position:relative;相对定位,放入流中,是相对于该元素在流中本来的位置进行的偏移,left top 这些。

position:fixed;固定定位,相对于浏览器窗口固定,不在流中,对块元素和内联元素都没有任何影响。

可以为绝对定位、相对定位和固定定位元素设置z-index属性,值越大,越靠近你,越往上层。

4、利用表格布局

表格单元格内放置的都是块元素。

外框div属性设置为display: table;

行div属性设置为display:table-row;

行内单元格div设置为display:table-cell;

可以在外框div属性设置border-spacing:10px;为每个单元格统一增加10像素的边框间距,则单元格div不用设置margin外边距。另外边框间距会与表格外块元素的外边距相加,不会折叠。

还要在单元格div设置属性vertical-align:top;确保单元格内容相对于上边对齐。

时间: 2024-08-26 06:55:10

【干货】Html与CSS入门学习笔记9-11的相关文章

【干货】Html与CSS入门学习笔记12-14【完】

十二.HTML5标记 现代HTML html5新增的元素:header nav footer aside section article time 这些新增元素使页面结构更清晰,取代<div id="header">这些. 还有,mark:突出显示文本.audio:插入音频.progress:显示进度条. htime元素:<time datetime="2017-07-28">7/28/2017</time>,datetime的值

HTML&amp;CSS基础学习笔记1.11—导航栏

上文我们介绍到的<a>标签,由于<a>标签可以用来跳转,所以我们可以拿<a>标签来生成网页的导航栏. 其实在实际运用中,<a>标签就经常会被用来生成导航栏. 导航栏在HTML中有一个语义化的标签<nav>,这个标签表示带有导航性质的内容,会有自己默认的特殊样式.语义化标签我们将会在后面讲到. 我们在这里先使用下<nav>标签,和<a>组合成一个导航栏. 代码如下: <!DOCTYPE html><html

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

HTML&CSS基础学习笔记13—无序列表

无序列表 有时我们的工作繁忙,杂事很多,怕忘记,就会把事情一件件列出来,防止忘记. 它们的排列顺序对于我们来说并不重要,可以随意调换,我们将它称为无序列表,HTML里用<ul>标签来表示无序列表,列表里的项目则用<li>标签来表示: 1 2 3 4 5 <ul>     <li></li>     <li></li>     ... </ul> 看一段实例代码: 对于的浏览器显示结果是这样的: 更多内容学习,请

Hadoop入门学习笔记---part4

紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

汇编入门学习笔记 (六)—— si、di,双重循环

疯狂的暑假学习之  汇编入门学习笔记 (六)-- si.di,双重循环 参考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or,就不多说了. [bx+idata] 这样写是可以的,某些情况下,比较方便. [bx+idata] 也可以写成 idata[bx] 直接见例子: 把'ABcde' 跟 'fGHig' 都改成大写(ASCII中大写字母与小写字母二进制中,只有第五位不同,大写字母是0,小写字母是1) assume cs:code,ds:data d

汇编入门学习笔记 (八)—— 转移指令

疯狂的暑假学习之  汇编入门学习笔记 (八)--  转移指令 參考: <汇编语言> 王爽 第9章 能够改动ip或者同一时候改动cs和ip的指令统称为转移指令. 8086CPU转移行为分为: 段内转移:仅仅改动ip 段间转移:同一时候改动cs和ip 段内转移按ip改动的范围可分为: 短转移:ip改动范围 -128~127 近转移:ip改动范围 -32768~32767 转移指令分为: 无条件转移指令.如 jmp 条件转移指令 循环指令.如 loop 过程. 中断. 1. offset,nop指令

Hadoop入门学习笔记---part3

2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hadoop有了一个基础的了解.但是还是有一些理论性的东西需要重复理解,这样才能彻底的记住它们.个人认为重复是记忆之母.精简一下: NameNode:管理集群,并且记录DataNode文件信息: SecondaryNameNode:可以做冷备份,对一定范围内的数据作快照性备份: DataNode:存储数据: