css中absolute使用,用position和transform是div里面的div垂直居中
来源:互联网 发布:狗听得懂人话吗 知乎 编辑:程序博客网 时间:2024/04/29 20:21
我以前看的一本书上是这么写的如果一个div的position属性为absolute那么这个div不会受页面的其他元素影响,直接基于页面定位这是错误的。看w3c,用google查positon absolute ,别用百度翻译的不准。介绍网址点击打开链接
其中一句话
absoluteThe element is positioned relative to its first positioned (not static) ancestor element一.解释absolute用法。
解释:这个元素的定位是相对于第一个postiion属性不是static的父类元素定义的
例子:页面
html代码:
<!doctype html><html lang="en" xmlns="http://www.w3.org/1999/html"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="author" value="hanghang"/> <link type="text/css" rel="stylesheet" href="pc/customer/css/frame.css"> <script type="text/javascript" src="pc/customer/js/common.js"></script> <title>爱家乐</title></head><body><div id="top"> <div id="topbody" style="margin: 0 auto"> <p class="left"> <span id="favorite"> <img src="pc/customer/image/favorite.png"> <a href="javascript:void(0)" onclick="addFavorite()">收藏本站</a></span> </p> <p class="right" id="topRight"> <!--你好要改成人名--> 你好,欢迎光临本店! <span id="loginInfo"><a href="">登录</a><small>|</small><a href="">免费注册</a></span> <!--<span id="loginInfo"><a href="">退出</a><small>|</small><a href="">免费注册</a></span>--> </p> </div></div><div id="header"> <div id="headerLeft"> <div class="logoImage"></div> <div class="logoFont">爱家乐</div> </div> <div id="headerMiddle"></div> <div id="headerRight"></div></div><div id="nav"></div><div id="content"></div><div id="footer"></div></body></html>关键css:
#header { position: relative; height: 80px;}#headerLeft { border: solid 2px black; float: left; /*vertical-align: middle;*/ position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); margin-left: 10%; height: 50%; width: 10%;}.logoImage { float: left; border: solid 2px black; position: relative; /*在float中必须relative*/ top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); height: 50%; width: 20%;}其中id为leftHeader的div设置的position属性为absolute,top为50%这个是相对他的设有 position:relative父标签来定位的。
二.垂直居中:
设置
position: relative; /*在float中必须relative*/ top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
就可以垂直居中了支持IE9以上解析
还有一种简单的方式里面的div的css的style为
margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;兼容ie8
详细请看点击打开链接
相关div的文字垂直居中点击打开链接
0 0
- css中absolute使用,用position和transform是div里面的div垂直居中
- position:absolute;的DIV 如何居中
- div里面的div垂直居中
- css的div垂直居中
- div+css垂直居中和水平居中
- div+css 水平居中和垂直居中的多种解决方案
- css div垂直居中
- CSS div垂直居中
- css垂直居中--div
- css div垂直居中
- css:div垂直居中
- div里面的文本和元素不能垂直居中问题,使用vertical-align:middle不行
- css中position:fixed实现div居中
- Div+css中内容垂直居中。
- css div中文字垂直居中显示
- 【CSS】div垂直和左右居中
- css中div里的字体垂直居中
- 图片在div中垂直居中的css
- LeetCode 387. First Unique Character in a String
- Codeforces 758B-Blown Garland
- UVA 11992 Fast Matrix Operations
- hdu1512 Monkey King
- 【清明】搜索
- css中absolute使用,用position和transform是div里面的div垂直居中
- Android编程权威指南(第二版)学习笔记(十九)—— 第19章 使用 SoundPool 播放音频
- 剪裁头像裁剪遇到关于小米华为适配问题的解决
- PAT---B1036. 跟奥巴马一起编程(15)
- Windows驱动程序学习步骤
- 单片机学习
- bzoj4197 [Noi2015]寿司晚宴
- PAT---B1027. 打印沙漏(20)
- Nginx服务器安装和使用