重温布局(display)
无聊,从新复习了一遍,基础布局,记录一下,避免忘了。
首先说一下
Css文件前缀
- Firefox:-moz-box-shadow
- Safari:-webkit-box-shadow
- Opera:-o-box-shadow
- IE:-ms-box-shadow
就这个前缀记得特别不牢固,唉唉唉
盒型布局
现在最常用的就是这种盒型布局了,他由:margin(边距),border(边框),padding(填充),content(内容)组成。
盗用一个图
这篇文章,主要是按照上图为标准的布局结构。
display元素生成类型
作为布局中,最重要的属性。首先写这个。详细的文档参看:点我
每一个元素都有默认的display,大多数默认为两种:block和inline。
block
块级元素:会新开始一行并且尽可能撑满容器。比如说:div,p,header,footer,section
inline
行内元素:可以在段落中使用。不会打乱段落布局。比如说:a,span,font
none
隐藏元素:会隐藏元素,与visibility不同的是,不会保留位置。
举个栗子:
水平菜单的效果,可以把ul>li 元素修改成行内元素,那么他就水平了
水平居中
只有块级元素,需要水平居中。因为他们是新的一行。设置宽度,可以防止他们撑满容器。然后设置左右边距,就可以水平居中。
#main {
width: 600px;
margin: 0 auto;
}
这样,就成为了一个水平居中并且有宽度的样子。但是当浏览器小于指定宽度的时候,就会出现滚动条。
如果我们想让他,根据宽度缩小。那么
#main {
max-width: 600px;
margin: 0 auto;
}
给他设置最大宽度,那么他就可以根据浏览器缩小了。
box-sizing
上面说了盒型结构图,有margin,padding,border。
但是当你设置了总的width以后,在使用这些元素,往往会超出指定的宽度。如果你跟我一样,不想仔细的计算。就使用box-sizing吧。
当你给box-sizing:border-box的时候。内边距和边框,就不会增加它的宽度。
#main {
width: 600px;
margin: 20px auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
有了这个,就可以任性的给边框,边距了。
position元素定位类型
为了制作更复杂的页面,我们需要用到这货。详细参看:点我
他一共四个属性,现在挨个过一遍
position:static
默认值,任意的元素都不会被特殊定位。
position:relative
相对定位,加上此属性后,可以设置top、right、bottom、left。让他偏离正常位置。其他元素不会弥补剩下的空隙。
position:fixed
固定定位,相对于浏览器视图来进行定位,也就是说浏览器怎么拉伸,缩小。他都不会变。可以设置top、right、bottom、left。让他偏离正常定位。
举个栗子:在页面中间,做一个返回顶部的菜单。
#main{
position:fixed;
right:;
top: 50%
}
position:absolute
相对定位,相对于最近的设置定位的祖先元素。static不算。如果没有最先元素,那么它是相对于body元素,并且会随着页面滚动而移动。可以设置top、right、bottom、left。让他偏离正常定位。
举个栗子:比如说div1套用div2,div1相对定位,div2绝对定位。那么div2只是针对div1,进行偏移。
float浮动
浮动,定于元素在哪个方向浮动。不管元素本身是什么,浮动都会将它生成一个块级框。
浮动一个分为四种:
left:元素向左浮动
right:元素向右浮动
none:默认值,元素不进行浮动
inherit:继承父级元素的float值
举个栗子:实现文字环绕图片代码
img {
float: right;
margin: 0 0 1em 1em;
}
clear取消浮动
取消浮动,如果元素设置浮动,则下面挨着的元素,会受影响。所以需要让下面的元素,取消浮动
overflow元素溢出
控制元素溢出的操作,如果浮动元素大于所属的框,那么需要对溢出元素进行操作。
溢出操作一共分为五种:
visible:默认值。内容不会被修剪。会呈现在元素框之外
hidden:内容会被修剪,并且其余内容是不可见的
scroll:内容会被修剪,但是会显示滚动条
auto:如果内容修剪,则浏览器会显示滚动条。可以撑开元素
inherit:继承父元素属性
媒体查询
响应式设计必要属性。当我们使用百分比做自适应布局的时候,当浏览器变窄到无法容纳侧边栏中的菜单时。可以把布局显示成一列
举个栗子:当浏览器大于600像素的时候,菜单左浮动。否则变成横向菜单。
@media screen and (min-width:600px) {
nav {
float: left;
width: 25%;
}
}
@media screen and (max-width:599px) {
nav li {
display: inline;
}
}
恩恩,就先写这么多。by~
重温布局(display)的更多相关文章
- CSS弹性盒布局(display:flex)
CSS弹性布局(display:flex) 参考: http://www.runoob.com/w3cnote/flex-grammar.html https://www.jianshu.com/p/ ...
- CSS3:布局display属性的flex(弹性布局)
CSS3:布局display属性的flex(弹性布局) 一.简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.设为Flex布局以后, ...
- 前端CSS3布局display:grid用法
前端CSS3布局display:flex用法 1. 先附上代码 点击查看代码 <!DOCTYPE html> <html> <head> <meta char ...
- 前端CSS3布局display:flex用法
前端CSS3布局display:flex用法 先附上代码 点击查看代码 <!DOCTYPE html> <html> <head> <meta charset ...
- 布局display
什么是布局: 浏览器以正确的大小将元素摆放在正确的位置上. 布局:元素摆放的模式. 影响元素大小和位置的css属性: display position float flex display 设 ...
- 弹性盒布局display:flex详解
一:弹性盒子 随着响应式设计的流行,网站开发者在设计网页布局时往往要考虑到页面在适配不同分辨率的浏览器时其内部组件位置大小都会产生变化,因此需要设计者根据窗口尺寸来调整布局,从而改变组件的尺寸和位置, ...
- 布局display属性(一)--【Flex】
一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. .box ...
- 自适应布局display:-webkit-box的用法
在web布局中,我们经常使用的是display:inline-block,display:flex,这些,但其实在进行移动端设备自适应布局中,-webkit-box布局更加合适 不同的浏览器有不同的前 ...
- 等高布局display:table
display:table用法: 父元素:display:table; 子元素:display:table-cell; 注:使用display:table-cell元素部分出现空白缝隙的问题:设置 . ...
随机推荐
- 移动端调试利器 JSConsole 介绍
先看这篇文章 Web应用调试:现在是Weinre和JSConsole,最终会是WebKit的远程调试协议. 我们先不看未来,从此文可见,当下的移动端调试还是 Weinre 和 JSConsole 的天 ...
- 求最长回文子串 - leetcode 5. Longest Palindromic Substring
写在前面:忍不住吐槽几句今天上海的天气,次奥,鞋子里都能养鱼了...裤子也全湿了,衣服也全湿了,关键是这天气还打空调,只能瑟瑟发抖祈祷不要感冒了.... 前后切了一百零几道leetcode的题(sol ...
- <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核
[root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...
- Bootstrap系列 -- 13. 内联表单
有时候我们需要将表单的控件都在一行内显示.在Bootstrap框架中实现这样的表单效果是轻而易举的,你只需要在<form>元素中添加类名“form-inline”即可 如果你要在input ...
- SQL Server 2012新特性(1)T-SQL操作FileTable目录实例
在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...
- libsvm使用详细说明
一,简介 LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,因此成为目前国内应用最多的SVM的库.详细的使用说明及博主博客见下链接: ...
- java中的集合和数组
数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据. (3)若程序时不知道究竟需要多 ...
- 用自己的话描述wcf中的传输安全与消息安全的区别(三)
消息交换安全模式 PS:很多书上把transfer security和transport security都翻译成“传输安全”,这样易混淆.我这里把transfer说成消息交换安全. 安全的含义分为验 ...
- linux 配置 crontab
linux中的crontab是定时用的,下面的cron服务就是定时器的意思 crontab -l 列举所有的cron服务 crontab -e 修改cron服务 crontab -r 删除cron服务 ...
- 使用D3制作图表(1)--画布绘制
使用D3绘制图表可以使数据更加直观. 使用D3前要先加载D3库,这里有两种方式,一种是在线加载<script type="text/javascript" src=" ...