无聊,从新复习了一遍,基础布局,记录一下,避免忘了。

首先说一下

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)的更多相关文章

  1. CSS弹性盒布局(display:flex)

    CSS弹性布局(display:flex) 参考: http://www.runoob.com/w3cnote/flex-grammar.html https://www.jianshu.com/p/ ...

  2. CSS3:布局display属性的flex(弹性布局)

    CSS3:布局display属性的flex(弹性布局) 一.简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.设为Flex布局以后, ...

  3. 前端CSS3布局display:grid用法

    前端CSS3布局display:flex用法 1. 先附上代码 点击查看代码 <!DOCTYPE html> <html> <head> <meta char ...

  4. 前端CSS3布局display:flex用法

    前端CSS3布局display:flex用法 先附上代码 点击查看代码 <!DOCTYPE html> <html> <head> <meta charset ...

  5. 布局display

    什么是布局: 浏览器以正确的大小将元素摆放在正确的位置上. 布局:元素摆放的模式. 影响元素大小和位置的css属性: display  position   float  flex display 设 ...

  6. 弹性盒布局display:flex详解

    一:弹性盒子 随着响应式设计的流行,网站开发者在设计网页布局时往往要考虑到页面在适配不同分辨率的浏览器时其内部组件位置大小都会产生变化,因此需要设计者根据窗口尺寸来调整布局,从而改变组件的尺寸和位置, ...

  7. 布局display属性(一)--【Flex】

    一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. .box ...

  8. 自适应布局display:-webkit-box的用法

    在web布局中,我们经常使用的是display:inline-block,display:flex,这些,但其实在进行移动端设备自适应布局中,-webkit-box布局更加合适 不同的浏览器有不同的前 ...

  9. 等高布局display:table

    display:table用法: 父元素:display:table; 子元素:display:table-cell; 注:使用display:table-cell元素部分出现空白缝隙的问题:设置 . ...

随机推荐

  1. 在线文档预览方案-office web apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  2. javascript 连等赋值问题(这是从SegmentFault转过来的一个问题)

    var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// - ...

  3. Rectangles Area Sum

    #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #in ...

  4. 【Javascript】好用的js弹层插件,layerUI

    官网:layerUI 中文手册:layerAPI

  5. difference between append and appendTo

    if you need append some string to element and need set some attribute on these string at the same ti ...

  6. android 使用多个接口

    今天,好久没有这么用过都忘记可以这样用了.来记录下: 一个类想要使用多个接口可以implements 接口1 , 接口2,...

  7. Day Three(Beta)

    站立式会议 站立式会议内容总结 331 今天:列表关于div控制长度选择控制字段长度而非cssCtrl;editor学习使用 遇到的问题:无 明天:复习,没什么时间花在代码上,可以构思下闹钟的过程 4 ...

  8. 1010每次备份我的MySQL数据库

    转自http://bbs.csdn.net/topics/320136534 在windows平台下面 /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* ...

  9. BIM软件小技巧:Revit2014所有快捷键汇总表格

    命令 快捷键 路径 修改 MD 创建>选择;  插入>选择; 注释>选择; 视图>选择; 管理>选择; 修改>选择; 建筑>选择; 结构>选择;  系统 ...

  10. iOS开发小技巧--即时通讯项目:使用富文本在UILabel中显示图片和文字;使用富文本占位显示图片

    Label借助富文本显示图片 1.即时通讯项目中语音消息UI的实现,样式如图: 借助富文本在UILabel中显示图片和文字 // 1.创建一个可变的富文本 NSMutableAttributedStr ...