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

首先说一下

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. MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter

    有时在编写struts.xml时会报错,但是找不出有什么她方有问题.也能正常运行 MyEclipse有地方去struts的xml进行了验证,经查找把这里 的build去掉就可以了

  2. (转) RSA算法原理(一)

    最近用到了RSA加密算法,虽然有现成的,但是想看看它的原理,翻到此文,感觉写得很好,通俗易懂,转了.   作者: 阮一峰 日期: 2013年6月27日 如果你问我,哪一种算法最重要? 我可能会回答&q ...

  3. 读懂IL代码就这么简单(二)

    一 前言 IL系列 第一篇写完后 得到高人指点,及时更正了文章中的错误,也使得我写这篇文章时更加谨慎,自己在了解相关知识点时,也更为细致.个人觉得既然做为文章写出来,就一定要保证比较高的质量,和正确率 ...

  4. JS之获取属性总结

    嗨,我是沐晴,今天来说说JS中关于获取属性的一些方法和区别.闲话不说,来正题. 首先什么是属性呢,比如input标签,标签中的value id type style等,这些就是属性.我们JS获取属性一 ...

  5. MVC+EF 理解和实现仓储模式和工作单元模式

    MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...

  6. meta标签大全

    meta标签大全 <!--     x-ua-compatible(浏览器兼容模式)     仅对IE8+以效     告诉浏览器以什么版本的IE的兼容模式来显示网页     <meta ...

  7. 一例完整的websocket实现群聊demo

    前言 业余我都会花一些时间在tcp.http和websocket等领域的学习,现在觉得有点收获,所以把一个基于websocket的群聊功能的例子提供给大家玩玩.当然这是一个很完整的例子,包括webso ...

  8. python学习笔记整理——集合 set

    python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{} ...

  9. 【JavaEE企业应用实战学习记录】struts2实现登录并获取各个范围的数据

    package sanglp; import com.opensymphony.xwork2.*; /** * Created by Administrator on 2016/10/6. */ pu ...

  10. 1020关于mysql一个简单语句的执行流程

    MySQL的语句执行顺序 转自http://www.cnblogs.com/rollenholt/p/3776923.html MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FRO ...