css水平居中那点事
昨晚深夜写了css垂直居中那点事,今晚该写他的兄弟篇:css水平居中那点事了。。…^^
其实本来这两个可以连在一起写,可是为了不要搞混,为了让思路更清晰,最后决定还是分开来些比较好。。。这样以后也有利于自己重温~~
一,text-align
为什么要第一个写text-align呢?
其实也没有为什么。。。。。(别打我)
但text-align是一个很神奇的东西,在ie6中使用text-align会有惊喜
text-align是文本居中的意思,是使一个块级元素的行内内容对齐,所以正常来说,text-align只对行内内容起作用,不会对块级内容起作用。
但是ie是一个神奇的东西,比较任性。。。在IE6和IE7的混杂模式中,text-align:center可以使块级元素居中。。。很神奇有木有!但是在其他的浏览器中只能作用于行内元素上。
二,margin
在块级元素居中上,我认为使用margin:0 auto,会是一个比较理想的方法,推荐使用,这个办法我们平时也用得够多,就不详细说明了
有的小伙伴会为了对齐元素或者多栏而使用float,但是在设置了float了之后想要居中,margin就没有用了,这时要使元素居中,可以使用负边距的办法或者是给float元素一个容器,再使用margin。
三,使用负边距
在css垂直居中那点事,有讲到使用负边距使块级元素垂直居中的问题,所以自然,使用负边距也可以使块级元素水平居中
首先设置position:absolute,然后使元素像偏移50%:left:50%,最后再反向使用margin-left等于块级元素宽度的一半margin-left:-1/2height便可以使元素水平居中
关于position:abs的位移参考元素我就不多说了,不明白请参考css垂直居中那点事。我觉的我还是讲的挺明白。。。哈哈哈
四,使用伸缩盒(flexible-box)
这也是上一篇讲过的办法,有点懒,我直接给方法
首先需要给要居中的元素一个伸缩盒容器:-webkit-display:box然后设置box-pack:center就可以使元素水平居中了
不明白的请自行搜索伸缩盒的基本知识,但是这个样式在手机端使用的比较多,在浏览器的兼容上面的兼容性不是很好。
题外话:
很神奇的一件事情,在水平居中的方法和垂直居中的方法一样都是4个,水平居中的办法还有很多,在以后如果还遇到其他水平的居中的办法会不定期更新此文章。
本人前端菜鸟,缺陷免不了,还请各位前段大牛不喜勿喷^^
本文为原创作品,未经允许不准私自转载,谢谢!
css水平居中那点事的更多相关文章
- CSS水平居中
三种情况:1.行内元素(文本.图片等) 给父元素设置text-align:center;来实现 2.定宽块状元素 <style> div{ border:1px solid blue; w ...
- css水平居中,竖直居中技巧(二)
css水平居中,竖直居中技巧(二)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="z ...
- css水平居中,竖直居中技巧(一)
css水平居中,竖直居中技巧(一)===### 1.效果 ### 2.代码#### 2.1.index.html <!DOCTYPE html> <html lang="z ...
- css基础—字体那些事
css基础-字体那些事 1. 首先讲字的大小样式等 字体大小 font-size: 40px; 文字字体 font-family: "宋体",Arial; 文字样式 font-st ...
- css水平居中的各种方法
说到水平居中,大家可能觉得很简单啊,text-align:center 就OK了. 但是,有时候会发现这样写了也没出效果.原因是什么呢? 请往下看. 水平居中:分为块级元素居中和行元素居中 行内元素 ...
- CSS水平居中/垂直居中的N个方法
我看最近微博流行CSS居中技术,老外码农争相写相关的文章,一篇赛一篇的长啊,我把几篇归纳总结了一下,算是笔记. 孔乙己曾说:"茴香豆的回字有四种写法",万一哪天有个面试官问你:&q ...
- CSS水平居中和垂直居中解决方案
一.CSS 居中 — 水平居中 DIV等标签本身没有定义自己居中的属性,网上很多的方法都是介绍用上级的text-align: center,然后嵌套一层DIV来解决问题. 可是这个方法有时候完全不起作 ...
- CSS 水平居中
一.水平居中:行内元素解决方案 居中元素:文字.链接以及其它行内元素(inline或inline-*类型的元素,如inline-block,inline-table,inline-flex)解决方案: ...
- CSS 水平居中/布局 垂直居中 (月经问题)
水平居中 如果它是一个行内元素 对其父元素使用 text-align:center 即可实现. <p style = " text-align:center; width:300px; ...
随机推荐
- 在wex5平台grid显示问题
新建的时候必须自动生成一个主表id,然后grid里面的column里面的editable必须是true,input里面的bind-ref得绑定值.
- Bug库
netsh int tcp set global ecn=disable C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe ...
- 第二天ci项目规划 数据库设计
第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...
- 基于redis的点赞功能设计
前言 点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回m ...
- 微信小程序火车票查询 直取12306数据
最终效果图: 样式丑哭了,我毕竟不是前端,宗旨就是练练手,体验微信小程序的开发,以最直接的方式获取12306数据查询火车票. 目录结构: search1是出发站列表,search2是目的站列表,命名没 ...
- Web API 之CRUD
注:例子来自微软Web API官网(https://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part ...
- http服务的安装与配置
挂载光盘mount /dev/cdrom /y #y是挂载光盘的位置 使用yum命令进安装httpd服务 yum命令的配置文件, yum配置文件位于 /etc/yun.repos.d 目录 ...
- MongooseHelper
/** * Created by lbc on 2016/11/16. */var mongoose=require("mongoose");var db=mongoose.con ...
- java项目启动后,数据库字段生成 user_name带下划线这种形式的
hibernate 5.0 版本以上去掉了 hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy 这个属性,如果非 ...
- 使用Prerender.io为angular项目做SEO
现在的项目的为了更好的分工明确,降低耦合都开始采用前后端分离的形式进式开发,我们也采用这种开发形式,前端用angular开发.虽说刚开始也遇各种坑,但是后期熟悉了之后简直爽呆.一个比较大的坑就是SEO ...