CSS布局基础
(初级)css布局
一、单列布局
1、基础知识
块级元素 div p ul li dl dt
行级元素 img span input strong同一行显示、无换行
2、盒子模型
盒子模型 (边框border、外边距margin、内边距padding、内容content)
盒子模型3维立体图:自上往下(边框、内容和内边距、背景图片、背景颜色、
外边距)
样式追求就近原则(行内样式>内部样式>外部样式)
3、自动居中
margin: 0px auto;实现自动居中(原理:外边距=(浏览器的宽度-外包含层的宽度)/2)(此时不能同时设置浮动和绝对定位)
一般情况下: 父层设置一宽度,子层设置100%就可以。(子层继承父层宽度)
4、css布局笔记
4-1 margin:auto
#main {
width: 600px;
margin: 0 auto;
}
设置块级元素的 width
可以阻止它从左到右撑满容器。然后你就可以设置左右外边距为 auto
来使其水平居中。元素会占据你所指定的宽度,然后剩余的宽度会一分为二成为左右外边距。
唯一的问题是,当浏览器窗口比元素的宽度还要窄时,浏览器会显示一个水平滚动条来容纳页面。让我们再来改进下这个方案。
4-2 max-width
在这种情况下使用 max-width
替代 width
可以使浏览器更好地处理小窗口的情况。这点在移动设备上显得尤为重要,调整下浏览器窗口大小检查下吧!
二、横向两列布局
1、浮动定位
能够实现多列布局
float属性(left、right、none):当元素没有设置宽度值,而设置了浮动属性,元素宽度随内容的变化而变化。
清除浮动的常用方法:
1-1、clear属性:clear:both;或者clear:left clear:right
1-2、同时设置width:100%(或固定宽度) + overflow:hidden;
不建议使用空标签进行消除浮动!!!
三、绝对定位布局
通过设置position属性实现(静态定位(static)、相对定位(relative)、绝对定位(absolute相对于最近的“positioned”祖先元素)、固定定位(fixed相对于视窗))
position:relative;top:10px;left 10px;会出现覆盖现象(top、left、bottom、right是偏移量)
绝对定位参照基准
1、无祖先元素(已<html>为偏移参照基准)
2、有已定位祖先元素(已距离最近的已定位的祖先元素为偏移参照基准)
当一个元素设置绝对定位,没有设置宽度时,元素宽度根据内容进行调节。
横向两列布局
使用absolute实现横向两列布局(常用于一列固定宽度,另一列宽度自适应。)
主要应用技能
relative-父元素相对定位
absolute-自适应宽度元素绝对定位
注意:固定宽度列的高度>自适应宽度的列。
(中级)如何用CSS进行网页布局
1、网页也设计特点
网页宽度自适应(调节浏览器宽度,网页宽度自动修改)
网页长度理论上没有限制。
2、自适应宽度和固定宽度两列布局
自适应:width:50%对于每个div(只要两者和位100%即可)
3、使用position定位实现三列布局
自适应:width:33.33%对于每个div(只要三者和位100%即可)
固定宽度:
.left{width:200px;height:500px;position:absolute;left:0;top:0}
.middle{height:500px;margin:0 300px 0 200px}
.right{width:300px;height:500px;position:absolute;right:0;top:0}
CSS布局基础的更多相关文章
- css布局基础总结
前端css布局知识繁杂,实现方式多种多样.想写出高效.合理的布局,必须以深厚的css基础为前提.为了方便记忆和复习,将css布局要点记录如下.内容较多,应用方面说的不太详细,但都是很实用的点. 所谓布 ...
- CSS布局基础——BFC
what's BFC? 第一次看到这个名词,我是拒绝的,css什么时候还有这个东西?于是迫不及待的google了一下,才发现原来它无时无刻不在我们的css当中,只不过它并不是一个属性,不需要我们平常使 ...
- [CSS布局基础]居中布局的实现方式总结
[原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 做Web开发少不了做页面布局.码路工人给大家总结一下 ...
- CSS布局基础之二认识Viewport
什么是viewport viewport,等同于浏览器窗口. 功能:约束你网站中最顶级包含块(containing block)元素html标签. 什么是包含块(containing block)?下 ...
- CSS布局基础之一设备像素,设备独立像素,设备像素比,css像素之间的关系
设备像素dp(device pixels) ppi(pixels per inch)表示每英寸所拥有的像素(pixel)数目,数值越高,代表屏幕能以更高的密度显示图像. 计算公式:ppi=像素数量/物 ...
- CSS布局基础--BFC
1,什么是BFC BFC(Block Formatting Context)块级格式化上下文,它就是一个环境,HTML元素在这个环境中按照一定规则进行布局.一个环境中的元素不会影响到其他环境中的布局. ...
- 界面设计技法之css布局
css布局之于页面就如同ECMAScript之于JS一般,细想一番,html就如同语文,css就如同数学,js呢,就是物理,有些扯远,这里就先不展开了. 回到主题,从最开始的css到如今的sass(l ...
- CSS布局 - 三栏布局
CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...
- CSS布局经典—圣杯布局与双飞翼布局
在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...
随机推荐
- Linux 修改计算机名
查看计算机名:在终端输入hostname 修改的话 hostname +计算机名(重启后失效) 要永久修改的话要修改配置文件/etc/sysconfig/network 修改hostname=你要改的 ...
- Java String.compareTo()方法
描述:java.lang.String.compareTo() 方法比较两个字符串的字典. 比较是基于字符串中的每个字符的Unicode值.此String对象表示的字符序列的 参数字符串表示的字符序列 ...
- android actionbar标题栏
在android的actionBar中,actionBar的视图是固定的,左边是程序的图标和title,右边是添加的menuItem,如果想要定制actionbar中的view就要自定义视图. 首先要 ...
- 一个zip压缩类,欢迎吐槽
package com.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import j ...
- mac下git中文乱码
今天从window切mac,git使用时各种问题.典型的就是,git commit 可以使用中文注释,但是使用 git log 查看的时候发现都是乱码,乱码效果如下: <B1><E0 ...
- BZOJ_1028_[JSOI2007]_麻将_(模拟+贪心)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1028 同一种花色的牌,序数为\(1,2,...,n\).定义"和了"为手上 ...
- 关于ie6对齐
先来没有任何对齐时的样子: 1.一种是在父级没有高度的情况下居中. 给每个独立的元素都加上vertical-align:middle; 针对文字可以不加,加与不加都可以居中对齐.但是无法做到绝对的居中 ...
- Java Web编程的主要组件技术——Struts的高级功能
参考书籍:<J2EE开源编程精要15讲> Struts对国际化的支持 "国际化"(I18N)指一个应用程序在运行时能根据客户端请求所来的国家/地区.语言的不同显示不同的 ...
- POJ 3177 Redundant Paths (桥,边双连通分量,有重边)
题意:给一个无向图,问需要补多少条边才可以让整个图变成[边双连通图],即任意两个点对之间的一条路径全垮掉,这两个点对仍可以通过其他路径而互通. 思路:POJ 3352的升级版,听说这个图会给重边.先看 ...
- win7/8下VirtualBox虚拟共享文件夹设置
1. 安装增强功能包(VBoxGuestAdditions) 打开虚拟机,运行ubuntu,在菜单栏选择"设备->安装增强功能",根据提示即可安装成功(成功后也可 以实现 ...