css实现垂直水平居中实例代码

首先我们我们想到居中就是相对于当前窗口,上边距和左边距各一半即可,于是有了下边的css样式:

 代码如下 复制代码

.center
{
    left:50%;
    top:50%;
    position:fixed;
}

我们很快发现,问题还没有真正解决,

要实现居中,我们要将对象向左、向上分别移动图片宽度、高度的一半,所以最终的样式如下:

 代码如下 复制代码

.center
{
    left:50%;
    margin-top:-50px;
    margin-left:-100px;
    top:50%;
    position:fixed;
}

<p style="background: #900; color: #00f; font: bold 12px/24px Helvertica,Arial,sans-serif; height:24px; width:370px;">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<br/>
<br/>
<p style="background: #090; color: #00f; font: bold 12px/2em Helvertica,Arial,sans-serif; height:2em; width:370px; overflow: hidden;">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>

 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
上一个高度是用的绝对单位px,并且没有隐藏溢出,下一个高度用的单位是相对单位em,并且隐藏了溢出。如果你的浏览器支持放大字体,那么尽情地放大字体,看看会出现什么效果。

二、多行内容居中,且容器高度可变
也很简单,给出一致的 padding-bottom 和 padding-top 就行

 代码如下 复制代码

.middle-demo-2{
padding-top: 24px;
padding-bottom: 24px;
}

优点:
1. 同时支持块级和内联极元素
2. 支持非文本内容
3. 支持所有浏览器
缺点:
容器不能固定高度

三、把容器当作表格单元
CSS 提供一系列diplay属性值,包括 display: table, display: table-row, display: table-cell 等,能把元素当作表格单元来显示。这是再加上 vertical-align: middle, 就和表格中的 valign="center" 一样了。

 代码如下 复制代码
.middle-demo-3{
display: table-cell;
height: 300px;
vertical-align: middle;
}

可惜IE不支持这些属性,不过在其他浏览器上显示效果非常完美。
要注意的是:和一个合法的<td>元素必须在<table>里一样,display: table-cell 元素必须作为 display: table 的元素的子孙出现。

优点:

不用说了吧,就是表格,效果和表格一模一样
缺点:

IE下无效

总结:本篇可以看出,实现css居中其实并不难,有时候当我们明白了原理之后,事情就变得非常简单了

时间: 2024-09-24 17:10:28

css实现垂直水平居中实例代码的相关文章

css元素垂直水平居中实例

例 /*      名称: 垂直 水平 居中     用法:         1. [原理] 设定宽度和高度,父节点为 position:relative; CSS是这样写的:               position:absolute;left:50%;top:50%;           margin-left:-元素自身宽度的一半;           margin-top:-元素自身高度的一半;             2. [原理] table, 用起来就更简单了, 只要添加:  

纯CSS实现滚动效果实例代码

CSS实现的原理 原理说透了很简单,下面几个关键CSS声明起的作用(红色高亮部分):  代码如下 复制代码 .container {     /* 滚动容器 */     perspective: 1px;     padding: 0; height: calc(100vh - 300px); overflow: auto; } .box {     /* 视差元素的父级需要3D视角 */     height: 1280px;     transform-style: preserve-3d

css垂直水平居中代码

css教程垂直水平居中代码 <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.jzread.com/1999/xhtml"> <head> <meta http-eq

css中固定高度容器内的图片垂直水平居中的实例

在某一个网站(freeappstools)上看到的这个"新奇"解法,说新奇,主要是国内各种总结的方法都没提到过,打引号,只是因为其中的原理很多人都知道:即依靠行高(line-height)的方法.  line-height对于img元素并不起作用:  代码如下 复制代码 <div style="height:250px;background:#ccc;line-height:250px;width:400px;text-align:center;">  

纯css完美地解决图片在div内垂直水平居中,兼容全部浏览器

本站提供的方法,纯css完美地解决图片在div内垂直水平居中,兼容IE7.0.IE6.0.IE5.5.IE5.0.FF.Opera.Safari...... 强烈推荐收藏! [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示_javascript技巧

下文以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中效果,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title></title> <sty

CSS网页制作实例代码:模拟新浪微博的三角图像

文章简介:CSS网页制作实例代码:新浪微博的三角图像. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta

纯css完美实现图片在div内垂直水平居中

以下是要实现插入图片的绝对居中,如果你仅仅是想让图片居中,最简单的方法是设为背景图片,如: div {    width:500px;border:1px solid #f00;    height:500px;    background:url("/images/logos.gif") center no-repeat    } 言归正转,请看以下代码实现图片在div内垂直水平居中: 以下是HTML网页特效代码,点击运行按钮可查看效果: [Ctrl+A 全部选择 提示:你可先修改部

动态加载js、css的实例代码_javascript技巧

一.原生js: /** * 加载js和css文件 * @param jsonData.path 前缀路径 * @param jsonData.url 需要加载的js路径或css路径 * @param jsonData.type 需要加载的类型 js或css */ function loadWriteFiles(jsonData) { jsonData.path = jsonData.path != undefined ? jsonData.path : ""; if(jsonData.