zoukankan      html  css  js  c++  java
  • 居中没有宽度的元素

    在一个元素内居中还有一个元素有时候会非常困难.对于常规,静态定位的元素,能够让他向左或向右浮动,或者使用text-align属性让他在父元素内居左,居中或居右.还能够利用自己主动外边距(margin:0 auto;)来居中元素.这些方法的问题在于,要居中的元素必须是有宽度的.像这里用于构成菜单的html列表,他可能是依据数据库信息动态生成的,或者说将来有可能手工编辑,总之你不可能提前设定他的宽度.


    在display属性的值中,inline-block具有一些特殊的混合行为.正如他的名字所暗示的,它具有块级元素的特点,也有行内元素的行为.从块级元素角度来说,能够为他设定外边距和内边距,也能够通过它简便而有效的包围其它块级元素.从行内元素角度看,他会收缩包裹自己的内容,而不是扩展填充父元素.换句话说,inline-block元素的宽度始终等于其内容宽度.这样的元素另一个特点,就是能够包围浮动元素.只是,这样的元素也有一个问题,既不能给他的外边距设定auto值--而这恰恰又是在更大的容器内居中元素的最简单方法.

    解决方式就是为要居中元素的父元素应用text-align:center,为要居中的元素设定display:inline-block.这样设定就能够得到我们想要的结果:没有宽度的元素也能在其父元素内居中.

  • 相关阅读:
    FastDFS
    目前存在的问题
    MongoDB JAVA开发
    [Linux] Hexo 搭建个人博客
    新目标
    1年之后的拿高工资的资本,Java线程
    Oracle在VMware虚拟机安装的配置
    adb命令关闭打开手机wifi开关
    ADB命令横竖屏切换、关闭打开wifi
    使用adb命令提取安卓手机中安装的apk
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7207194.html
Copyright © 2011-2022 走看看