当前位置:  开发笔记 > 前端 > 正文

CSS,居中的div,缩小到适合?

如何解决《CSS,居中的div,缩小到适合?》经验,为你挑选了4个好方法。

这就是我想要的:

text text text text text text text text text text text
text text text text text text text text text text text
                   +-----------+
                   | some text |
                   +-----------+
text text text text text text text text text text text
text text text text text text text text text text text

..."some text"块是div.我希望div是包含其文本而不包装所需的最小宽度.如果文字太长而不适合没有包装,那么它可以包装.

我不想为div设置明确的宽度.我也不想设置min-width或max-width; 就像我说的,如果有太多的文字要包含在一行而没有包装,那么如果它包装就没关系.



1> Josh Stodola..:

默认情况下,DIV元素是块级的,这意味着它们自动获得100%的宽度.要更改它,请使用此CSS ...

.centerBox {
  display:inline-block;
  text-align:center;
}


Some text

编辑:更新为使用CSS类而不是内联属性并将"块"更改为"内联块"


'width:auto'是多余的,可以省略.显然,您还需要在父级上设置text-align-center.技术上正确的方法虽然可能将div变为内联,但这并不是OP想要的!

2> Konstantin T..:


Some text above

some text

Some text below

提示:不要将DIV用于文本块(用于SEO和更好的语义目的)


+1 DIV只是错误的元素.

3> Lukas..:

我不知道,这里的解决方案似乎部分正确,但后来却没有真正起作用.根据Josh Stodola的回答,这是一个在Firefox,Safari,Chrome和IE 7,8和9中测试的跨浏览器解决方案

CSS:

body {
    text-align: center;
}

#centered-div {
    text-align: left;
    background: #eee;

    display: inline-block;

    /* IE7 bs - enables inline-block for div-elements*/
    *display: inline;
    zoom: 1;
}

标记:

Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus.

要添加IE6支持(叹气),请添加_height: [yourvalue]到div.是的,带有下划线.

在JSFiddle上自己测试一下:http://jsfiddle.net/atp4B/2/



4> dirtside..:

Josh Stodola的道具,尽管他并不完全正确.所需的财产是:

display: inline-block;

这解决了我的问题.好极了!

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有