Div设置(上)**
DIV是层叠样式表中的定位技术,全称division
有时把div称为图层,更多的时候称为块
编程练习1
编写div块级元素,设置背景颜色为红色,使用绝对定位设置,并设置div距离左侧50%的距离。

任务提示
1、设置div高度和宽度相同。
2、使用left属性设置百分比使div距离左侧50%的距离。
3、使用绝对定位。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> .div1{ position:absolute; left:50%; width:30px; height:30px; background-color:red; } </style> </head> <body> <div class="div1"></div> </body> </html>
|
编程练习2
编写div块级元素,设置div中包含图片的大小,无法显示出的设置滚动条进行显示。

任务提示
1、设置定div高度和宽度相同
2、使用div包含图片
3、使用overflow设置滚动条
http://climg.mukewang.com/5cbd23450001d64d16000900.jpg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> #div1{ height:150px; width:150px; position:absolute; top:50px; left:50px; overflow:scroll; } </style> </head> <body> <div id="div1"> <img src="http://climg.mukewang.com/5cbd23450001d64d16000900.jpg" /> </div> </body> </html>
|
div设置(下)
css边框 设置分为上下左右四个

盒子模型
盒子模型。margin外边距,元素和元素之间的距离;padding内边距,边框和内容之间的距离。

box-sizing padding的距离由哪里产生
属性1:content-box 在宽度和高度之外绘制padding和border
属性2:border-box 在设定的宽度和高度内减去(压缩内容)

编程练习3
在不更改蓝色区域大小的情况下,将黄色区域设置为水平垂直居中。

任务提示
- 水平居中可以设置top左外边距为200px。
- 垂直居中可以设置content内上边距为100px,并使用box-sizing属性设置边距产生的位置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .content{ width:800px; height:400px; background-color: skyblue; padding-top:100px;/*这是补充的代码*/ box-sizing:border-box;/*这是补充的代码*/ } .top{ width:400px; height:200px; background-color: yellow; margin-left:200px;/*这是补充的代码*/ } </style> </head> <body> <div class="content"> <div class="top"></div> </div> </body> </html>
|
编程练习4
小伙伴们,学习了margin外边距属性,根据效果图的提示,补充代码 。
效果图如下:

任务
第一步:设置列表项之间的距离
第二步:设置列表项与父元素之间的距离
任务提示
父元素本身上面设置了一个上内边距
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>margin外边距</title> <style type="text/css"> * { margin-left: 0; padding: 0; } ul{ list-style:none;width:300px;height:400px; background-color:pink; padding-top:80px; } li{ width:200px;height:50px;background-color:yellow; /*样式补充*/ margin-left:40px; margin-bottom:40px; } </style> </head> <body> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </body> </html>
|
行级元素与块级元素
行级元素:行内元素和其他行内元素都会在一条水平线上排列,都是在同一行的
a标签、label、img、span等
块级元素:块级元素在默认情况下,会独占一行
div、h标签、li、table等
定位机制
定位机制,主要针对块级元素

浮动

float包裹和崩溃
崩溃/崩塌/破坏:将子元素设置为浮动之后,父元素在没有指定高度的情况下,父元素的高度将不存在
包裹特性
img行级元素
vertical-align:bottom;垂直对齐方式,底边对齐(将行级元素转化为块级元素)。
包裹性:div恰好包裹图片。

编程练习5
我们学习了浮动的属性,那么我们就可以实现块元素在同一行现实的功能,那么我们就来实现一个两行三列的效果吧,如下图所示:

图片地址如下:
http://climg.mukewang.com/590fe9770001e63102400135.jpg
http://climg.mukewang.com/590fe97d00011bda02400135.jpg
http://climg.mukewang.com/590fe982000150ba02400135.jpg
任务
先写出html结构:
1、首先需要一个大的容器来容纳这六个小的模块。
2、写出这六个小模块;
3、每个小模块包含了两部分,上面的图片和下面的文字。
再定义css样式:
1、先给每个小模块样式进行一下设置,包括边框和内外边距。
2、给每个小模块设置浮动,实现两行3列的排布。
tips:注意大容器宽度的设置
3、如果父元素是塌陷的,还需要解决一下父元素塌陷的问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| <!DOCTYPE html> <html> <head> <style type="text/css"> p{ margin:0 0 5px 5px; } #div{ width: 800px; } #div1{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } #div2{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } #div3{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } #div4{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } #div5{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } #div6{ float:left; border: 1px solid; margin-right: 10px; margin-bottom: 10px; } </style> </head> <body> <div id="div"> <div id="div1"> <img id="img1" src="http://climg.mukewang.com/590fe9770001e63102400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> <div id="div2"> <img id="img2" src="http://climg.mukewang.com/590fe97d00011bda02400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> <div id="div3"> <img id="img3" src="http://climg.mukewang.com/590fe982000150ba02400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> <div id="div4"> <img id="img4" src="http://climg.mukewang.com/590fe9770001e63102400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> <div id="div5"> <img id="img5" src="http://climg.mukewang.com/590fe97d00011bda02400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> <div id="div6"> <img id="img6" src="http://climg.mukewang.com/590fe982000150ba02400135.jpg"> <p>欢迎来到慕课网学习新知识!</p> </div> </div> </body> </html>
|
编程练习6
我们学习了浮动的知识,那么我们来实现图文混排的效果如下图所示:

图片素材:
http://climg.mukewang.com/59c8742e0001bc9607120172.jpg
http://climg.mukewang.com/59c874560001779307120172.jpg
任务
1、首先给大的容器content设置基本样式,宽度为810px,高度自适应,居中显示,字体为微软雅黑,行高为24px,边距、边框等设置。
2、想要实现文字环绕图片,实现图文混排的形式,我们给图片实现浮动,很明显我们可以给第一个图片添加左浮动,第二个图片实现右浮动。
3、到这一步我们虽然实现了图文混排的效果,但是字体离图片还是太近了,所以需要添加一些边距来美化一下页面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>慕课网</title> <style type="text/css"> .content{ width: 810px; font-family: 微软雅黑; text-align: center; line-height: 24px; border: 1px solid black; padding: 5px; } .img01{ float: left; } .img02{ float: right; } </style> </head> <body> <div class="content"> <img src="http://climg.mukewang.com/59c8742e0001bc9607120172.jpg" alt="" class="img01"> 慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。在这里,你可以找到最好的互联网技术牛人,也可以通过免费的在线公开视频课程学习国内领先的互联网IT技术。<br/><br/> 慕课网课程涵盖前端开发、PHP、Html5、Android、iOS、Swift等IT前沿技术语言,包括基础课程、实用案例、高级分享三大类型,适合不同阶段的学习人群。以纯干货、短视频的形式为平台特点,为在校学生、职场白领提供了一个迅速提升技能、共同分享进步的学习平台。<br/><br/> 4月2日,国内首个IT技能学习类应用——慕课网3.1.0版本在应用宝首发。据了解,在此次上线的版本中,慕课网新增了课程历史记录、相关课程推荐等四大功能,为用户营造更加丰富的移动端IT学习体验。<br/><br/> <img src="http://climg.mukewang.com/59c874560001779307120172.jpg" alt="" class="img02"> 老师来自于各大IT公司重要技术岗位,拥有丰富的实战经验。语言平实、通俗易懂,更接地气,传授最有价值的经验之谈。课程内容注重实用性,不仅让学员通过学习能够做出产品,而且学习过程中掌握的方法技巧在实际工作中用得上,能够切实帮助学员提升工作技能。<br/><br/> 慕课网的绝大多数课程都经过了专业的后期制作,为课程内容匹配了个性化的视觉效果,帮助学员更好地理解课程内容,增加学习的乐趣。 </div> </body> </html>
|
清除浮动
为什么清除浮动
1.为了使父元素具有高度(”防止高度崩塌“)
2.从某个元素开始不再需要浮动了。
clear:both;
编程练习7
如下图所示,父元素中有两个红色的方框子元素,由于浮动的原因使得父元素出现了高度塌陷的问题,父元素变成了一条直线。清除浮动的方式有很多,请运用清除浮动的方式使父元素能够包住子元素。

任务
1、在父元素内,所有子元素的最后添加空的子元素,用来清除浮动。
2、给添加的空白的子元素添加clear:both;属性。
任务提示
提示:在父元素中的所有子元素的最后添加带有clear:both;属性的元素可以清楚浮动,使得父元素具有高度。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .per{ width: 300px; height: auto; border:2px solid #aaa; } .li{ width: 100px; height: 100px; background: red; margin: 5px; float: left; } /*此处写代码*/ #Divclear::after{ content:""; visibility:hidden; display:block; height:0px; clear:both; } </style> </head> <body> <div class="per"> <div class="li"></div> <div class="li"></div> <div id="Divclear"></div> </div> </body> </html>
|