2.1标准流(文档流)

块级元素独占一行显示,标准流的显示方式

让两个盒子在一行显示

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

.one{

width: 100px;

height: 100px;

background-color: red;

/*让两个盒子在一行显示*/

display: inline-block;

}

.two{

width: 100px;

height: 100px;

background-color: greenyellow;

display: inline-block;

}

</style>

</head>

<body>

<div class="one">

</div>

<div class="two">

</div>

</body>

</html>


一个靠左边,一个靠右边

2.2浮动

Float: left/right

设置了浮动的元素,不在原来的位置(脱标)

设置可以浮动可以让块级元素在一行上显示

浮动可以将行内元素转化为行内块元素

模式转化的过程中,能用display就用display

浮动用来解决文字图片的环绕问题

浮动的第二个作用: 制作导航栏

实现导航栏一:

代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

/*文字宽度不一样,不建议给a设置宽度*/

.nav{

height: 50px;

background-color: pink;

/*让文字垂直居中

放在这里也可以,发到下面,因为可以继承*/

line-height: 50px;

}

li{

list-style: none;

/*设置在一行上显示*/

float: left;

}

li a{

/*不起作用  行内元素

高度是盒子的高度50px  不起作用,因为是行内元素

需要转化为行内快元素*/

height: 50px;

display: inline-block;

padding: 0 10px;

}

li a:hover{

background-color: yellowgreen;

padding:  0 10px;

}

</style>

</head>

<body>

<div class="nav">

<ul>

<li>

<a href="">百度</a>

</li>

<li>

<a href="">百度一下</a>

</li>

<li>

<a href="">么么哒</a>

</li>

</ul>

</div>

</body>

</html>

实现导航栏二:

代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

*{

margin: 0;

padding: 0;

}

.nav{

height: 55px;

background: url(img/head_bg.jpg);

border-top: 1px solid red;

/*这是为了设置垂直居中

可以继承*/

line-height: 55px;

}

.nav li{

/*这是设置去掉点*/

list-style: none;

/*在一行显示*/

float: left;

/*背景默认在左边显示*/

background: url(img/li_bg.png) no-repeat right;

/*padding-left: 10px;*/

/*padding-right: 10px;*/

}

ul{

margin-left: 390px;

}

a{

height: 55px;

display: inline-block;

padding: 0 10px;

}

a:hover{

background: yellowgreen;

}

</style>

</head>

<body>

<div class="nav">

<ul>

<li>

<a href="">智能手机</a>

</li>

<li>

<a href="">智能手机</a>

</li>

<li>

<a href="">智能手机</a>

</li>

</ul>

</div>

</body>

</html>

网页布局

案例一: 实现以下效果:

代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

{

/*CSS初始化*/

h1,h2,h3,h4,h5,h6,body{

margin: 0;

padding: 0;

}

.box{

width: 980px;

height: 200px;

background-color: #DBDBE0;

margin: 0 auto;

}

.header{

height: 50px;

background-color: black;

}

.container{

height: 600px;

background-color: red;

}

.contet{

width: 680px;

height: 600px;

background-color: blue;

float: left;

}

.sidebar{

width: 300px;

height: 600px;

background-color: palegoldenrod;

float: right;

}

.footer{

height: 50px;

background-color: fuchsia;

}

}

</style>

</head>

<body>

<!--主题盒子-->

<div class="box">

文字

<!--头部-->

<div class="header">

</div>

<!--内容部分-->

<div class="container">

<!--内容里面有两个盒子-->

<!--内容盒子左边-->

<div class="contet">

</div>

<!--内容盒子右边-->

<div class="sidebar">

</div>

</div>

<!--尾部-->

<div class="footer">

</div>

</div>

</body>

</html>

案例二:实现以下效果:

实现思路:

实现代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

/*css初始化*/

h1,h2,h3,h4,h5,h6,body{

margin: 0;

padding: 0;

}

.box{

width: 980px;

height: 700px;

background-color: goldenrod;

margin: 0 auto;

}

.header{

height: 50px;

background-color: black;

}

.content{

height: 600px;

background-color: palegreen;

}

.left{

width: 90px;

height: 600px;

background-color: blue;

float: left

}

.right{

width: 90px;

background-color: blueviolet;

height: 600px;

float: left;

}

.middle{

width: 800px;

background-color: pink;

height: 600px;

float: left;

}

.m-top{

width: 800px;

height: 300px;

background-color: hotpink;

}

.m-bottom{

width: 800px;

height: 300px;

background-color: seagreen;

}

.footer{

height: 50px;

background-color: red;

}

</style>

</head>

<body>

<!--主题盒子-->

<div class="box">

<!--头部-->

<div class="header"></div>

<!--主体部分-->

<div class="content">

<!--主体-左边-->

<div class="left"></div>

<!--主体-中间-->

<div class="middle">

<div class="m-top"></div>

<div class="m-bottom"></div>

</div>

<!--主体-右边-->

<div class="right"></div>

</div>

<!--尾部-->

<div class="footer"></div>

</div>

</body>

</html>

2.3清除浮动

清除浮动不是删除浮动

清除浮动指的是清除浮动的影响

注意:

当子元素设置了浮动,父元素没有高度的时候,造成页面混乱

这种情况下进行清除浮动

/*清除浮动一*/

.clearfix{

clear: both;

}

/*清除浮动方式二*/

/*overflow: hidden;*/

/*清除浮动方式三:*/

/*.clearfix:after{

content:'';

display: table;

clear: both;

height: 0;

/*line-height: 0;*/

/*visibility: hidden;*/

/*}*/

2.4清除浮动的几种方式

使用: clear: left/right/both

在要清除浮动的元素后面添加一个标签

给父盒子设置overflow:hidden

如果父盒子中有定位的元素,一般不推荐使用该种方式清除浮动

使用伪元素清除浮动

2.5 Overflow的使用

hidden: 将超出的部分进行隐藏

auto

如果内容超出盒子,那么给盒子设置滚动条

如果内容没有超出盒子,那么不显示滚动条

scorll

3.定位

方位名称:

left right top bottom

3.1静态定位(static)

用法:

  

Position:static

静态定位就是元素标准流的显示方式

3.2 绝对定位(absolute)看脸型

用法:

  Position: absolute

特点:

1. 当给一个单独的元素设置绝对定位,以浏览器左上角(body)为

基准设置定位的

2. 当盒子发生嵌套关系的时候,如果父盒子没有设置定位,子盒子设置

定位以浏览器的左上角为基准设置定位

3. 当盒子发生嵌套关系的时候,如果父盒子设置定位,子盒子设置定位的

时候,会以父盒子左上角为基准,设置定位

4. 给盒子设置了绝对定位,该盒子不占位置(脱标)

5. 给行内元素设置绝对定位后,该元素转化为了行内块元素

注意: 元素设置了绝对定位后,通过具体的方位名称可以随便设置元素的

位置

3.3 相对定位(relative)(自恋型)

元素设置了相对定位后占原来的位置

设置相对定位,以自己的位置为参照设置位置

相对定位不能进行元素的模式转换

子绝父相(子元素设置绝对定位,父元素设置相对定位)

3.4固定定位 (fixed)

固定定位不占位置

将行内元素转化为行内快元素

李洪强和你一起学习前端之(8)浮动,网页布局,定位相关推荐

  1. 李洪强和你一起学习前端之面试题

    前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上面没有答案,我就整理了一下,从网上找了一些相关问题的答案.里面有一部分问题的答案我也没有进行考证 ...

  2. 李洪强和你一起学习前端之(9)规避脱标,CSS可见性,滑动门案例

    1  复习昨天知识 1.1 浮动  特点: >浮动的元素不占位置(脱标) >可以将行内元素转化为行内块元素 >块级元素在一行上显示 >设置了浮动的元素,影响其后面的元素   作 ...

  3. 李洪强经典面试题146-网络

    李洪强经典面试题146-网络   网络 http请求方式? 通常,HTTP的请求方式有3种,分别是:POST.GET.HEAD.POST和GET方法是用于数据发送的. POST:它将要发送的数据单独放 ...

  4. 李洪强iOS经典面试题37-解释垃圾回收的原理

    李洪强iOS经典面试题37-解释垃圾回收的原理 问题 我们知道,Android 手机通常使用 Java 来开发,而 Java 是使用垃圾回收这种内存管理方式. 那么,ARC 和垃圾回收对比,有什么优点 ...

  5. 李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入

    李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入 01 - 直接在项目中导入SDK和一些静态库 这个时候,没有错误的编译没有错误的话,就说明SDK已经配置成功 还有一种方法是用cocoap ...

  6. 李洪强iOS经典面试题144-数据存储

    李洪强iOS经典面试题144-数据存储   数据存储 sqlite中插入特殊字符的方法和接收到处理方法. 除'其他的都是在特殊字符前面加"/",而 ' -> '' .方法:k ...

  7. 李洪强iOS经典面试题153- 补充

    李洪强iOS经典面试题153- 补充   补充 有空就来解决几个问题,已经懒癌晚期没救了... UML 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模 ...

  8. 和李洪强一起学设计01 PS第一天

    和李洪强一起学设计01 PS第一天

  9. 李洪强iOS开发之RunLoop的原理和核心机制

    李洪强iOS开发之RunLoop的原理和核心机制 搞iOS之后一直没有深入研究过RunLoop,非常的惭愧.刚好前一阵子负责性能优化项目,需要利用RunLoop做性能优化和性能检测,趁着这个机会深入研 ...

最新文章

  1. 【Python之路】第五篇--Python基础之杂货铺
  2. Android中通过自定义签名控件实现手写签名
  3. office 高效办公智慧树_干货高效实用的office办公小技巧之word篇
  4. 开启数据科学职业生涯的8个基本技巧
  5. Spring学习笔记专题二
  6. 小米正式开源 Istio 管理面板 Naftis
  7. python安装过程中出现文件或目录损坏且无法读取_解决安装python库时windows error5 报错的问题...
  8. 20200216_re数据处理
  9. python算法——冒泡排序
  10. 计算机触摸板设置方法,解决办法:四种关闭笔记本电脑触摸板的方法[图形教程]...
  11. java工具类(六)根据经纬度计算距离
  12. matlab 异常,Matlab 2017b 异常信息。程序奔溃。
  13. 六大场景,看懂声纹识别技术怎样“抗疫防疫” 小快
  14. 药品质量检测的方法之一:质谱分析法
  15. matlab模糊解耦,模糊神经网络解耦MATLAB源程序
  16. Java学习日记1——基础认知
  17. matlab中怎么画函数曲线,用matlab 怎么画函数曲线图
  18. 80V转5V,恒压可调恒流电源PCB设计建议规范PW2153
  19. STM32 DIY USB键盘Ⅱ之硅胶键盘
  20. Tomcat启动闪退解决方法

热门文章

  1. 神经网络模式识别matlab,基于matlab仿真的神经网络模式识别
  2. 获取当前经纬度php腾讯地图,PHP腾讯地图经纬度转百度地图经纬度
  3. mac查看图片分辨率_Mac图像检查工具-Graphic Inspector
  4. python的random函数_关于random()的详细介绍
  5. 破窗理论---到底是破坏还是创造?
  6. 有三AILab成立 | 寻找合适的你
  7. 《计算机组成原理》第08章在线测试
  8. 创建性设计模式之2--建造者模式
  9. Python基础1 历史 变量
  10. table导出Excel