第五章 CSS页面布局基础
1、标准文档流
在正常流中,在没有使用浮动或者定位的情况下,文本元素按照从上到下、从左到右的格式布局。这是浏览器的默认行为。在正常流中,块级元素从上到下依次排列,而行级元素从左到右依次排列。正常流中的元素影响其相邻元素的位置。
2、块级元素
- 前后换行显示,默认状态下独占一行;
- 块级元素可以作为容器,包含其他行级元素、块级元素;
- 块级元素有一定高度和宽度,可以通过width和height来设置。
- div,table,p,h1-h6,ul,form等等
3、行级元素(内嵌元素、内联标签)
- 类似于文本的显示方式,从左到右逐行显示
- 行级元素不支持高、宽,由其内容大小决定
- span,label,a,img,input,textarea等等
- 通过display:block 可以将行级元素转换为块级元素
4、display属性规定了生成的框的类型:none 不显示;inline 行级元素;block 块级元素;inline-block:行内块级元素(本质还是行级元素,但是可以支持高宽)
5、选择器
- 类别选择器 .类名的方式选择;
- 类型选择器(元素选择器) 元素名的方式选择;
- ID选择器 #ID的方式选择(ID在网页中是唯一的);
- 属性选择器 [属性名][属性名]或者[属性名=属性值]的方式选择
- 群组选择器(分组选择器) 多个元素样式属性一致时,可以共同调用一个声明,元素之间用逗号分隔;
- 伪类选择器 元素:属性,first-child第一个子元素;如a.a1:link{},a#a2:link{},input:focus (鼠标悬停);
- 伪元素:元素::属性,如first-line,first-letter,before,after
- 后代选择器(包含选择器)用来选择特定元素或元素组的后代 父代和子代之间用空格分隔;
- 子类选择器 选择特定元素的直接子代;
- 通用选择器 *方式选择,优先级最低
- 相邻兄弟选择器 如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素;
6、CSS框模型概述
元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡气候的任何元素。
6.1、内边距:
padding,使用padding会调整内容和盒子之间的距离。增加内边距会增加盒子大小。
6.2、边框
border:px color style
6.3、外边距
margin 表示盒子与盒子之间的距离。
7、使用负边距会使文档流发生偏移,不会占据原来的空间。
8、position:relative 相对定位。
- 使用相对定位不会影响元素本身,仍保持其定位前的形状;
- 不会脱离文档流,只是发生了偏移,不影响文本流中接下来的其它层的位置;
- 层的层叠级别高于默认的文本流级别。
9、static 静态定位(默认);relative相对定位;absolute 绝对定位;fixed 固定定位,类似于absolute,不过其包含块是视窗本身。
10、position:absolute,使用一到多个偏移属性相对于其容器块儿的边缘进行定位,没有设置偏移属性的默认为auto;使用绝对定位会设置当前元素dislay:inline-block元素框从文档流中完全删除,不占用原来空间,不影响其它元素。如果容器块没有设置position属性或者position值为static时,将以body或者html的坐标原点作为参考
11、margin、padding 边距设置为auto时可以让模块自适应调整居中。
12、! important 将权重设置为最重要,将其它相关的css属性权重设为0.
13、z-index (定位层级)相当于z轴坐标,越大显示在最前面。注:必须配合position使用。
14、position:fixed固定在窗口某一位置,始终保持在视线里,常用于做导航。
15、float使元素在一行显示,为每个元素设置了inline-block;元素不设置高宽时,高和宽由内容决定;浮动按照一定的顺序进行排列,碰到父元素的边界或者前一个兄弟元素也会停止下来;
16、float会使元素脱离文档流,且原来的位置不占空间了。如果想清除浮动可以clear清除。
第五章 CSS页面布局基础的更多相关文章
- css页面布局基础
1.盒模型属性包括boder.margin.padding.width.height,这些属性可以使用快捷方式表示,顺序为上右下左,值之间用空格隔开. 2.使用clip和overflow属性时,pos ...
- CSS 页面布局、后台管理示例
CSS 页面布局.后台管理示例 页面布局 1.头部菜单 2.中间内容/中间左侧菜单 3.底部内容 <div class='pg-header'> <div style='width: ...
- python 教程 第十五章、 结构布局
第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 d ...
- Xamarin+Prism开发详解五:页面布局基础知识
说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout Abso ...
- 第 27 章 CSS 传统布局[下]
学习要点: 1.定位布局 2.box-sizing 3.resize 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.定位布 ...
- CSS页面布局与网格(上)
1.布局规划 1.1 网格 网格系统是设计师在切分布局时作为参照的一组行和列. 1.2 布局辅助类 类名用于为布局添加样式.为了让样式可以重用,让类名表达其意图. .column { /* 一般列的样 ...
- 只要一行代码,实现五种 CSS 经典布局
常用的页面布局,其实就那么几个.下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面. 这几个布局都是自适应的,自动适配桌面设备和移动设备.代码实现很简单,核心代码只有一行,有很大的学习 ...
- css页面布局
写在前面: 页面布局整体上可以分为两类:固定宽度(一般固定960px):流式布局:将流式布局转换为固定布局很容易,只需要外围再包括一个div,为其设置宽度即可. html默认的布局方式是将每个块状标签 ...
- CSS页面布局常见问题总结
在前端开发中经常会碰到各种类型布局的网页,这要求我们对css网页布局非常熟悉.其中水平垂直居中布局,多列布局等经常会被使用到,今天就来解决一下css布局方面的问题. 水平垂直居中的几种方法 说到水平垂 ...
随机推荐
- Java敏捷数据库迁移框架——Flyway
1.引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的一种解决方案,当时各个环境的数据库乱作一团,没有任何一个人(开发.测试.维护人员)能够讲清楚当前环境下的数据库是哪个版本,与哪个版本的应 ...
- mysql 2003 10038 连接不上的解决
网上写的很复杂,其实解决办法是 你在右键管理员权限下运行 mysqld. 忘记这个了,害的又找了近1个小时的时间找问题.
- http1.1和http1.0区别
http1.1和服务器建立连接可以获得多个资源 http1.0和服务器建立连接可以获取一个值
- [转载] 新浪微博MySQL优化的小结和反思
原文: http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=206762682&idx=1&sn=1233ed1496d7 ...
- Git学习(3)创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
- MediaPlayer的生命周期
- 在Windows和Linux上安装paramiko模块
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
- PHP 安全相关 简单知识
概要: 1.php一些安全配置 (1)关闭php提示错误功能 (2)关闭一些“坏功能” (3)严格配置文件权限. 2.严格的数据验证,你的用户不全是“好”人 2.1为了确保程序的安全性,健壮性,数据验 ...
- HTTP 头部解释
1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Charset:浏览器申明自己 ...
- DialogFragment 自定义弹窗
layout文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:a ...