【发布时间】:2016-02-15 22:58:25
【问题描述】:
我有一个 div 响应。我喜欢它在屏幕变化时的工作方式:它像 img 一样工作,它在宽度和高度之间保持一定比例。问题是里面的文字。我怎样才能使文本居中,水平和垂直?同时,如果文本与 div 的限制之间有一定的距离,那就更好了。请记住:所有这些都在响应式环境中。
查看和玩:http://jsfiddle.net/xkr6v9yh/1/
HTML:
<div id="wrapper">
<div id="small">some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, some text, </div>
</div>
CSS:
#wrapper {
position: relative;
margin:0 auto;
}
#small {
width: 100%;
padding-bottom: 50%;/* 50% of width of container */
color: white;
text-align: center;
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
background: blue;
}
【问题讨论】:
-
1- 水平和垂直居中,2- 屏幕变化时有边距或内边距
-
您是否正在寻找带有 display:flex 的东西:jsfiddle.net/xkr6v9yh/3?或者 display:table/table-cell 会很容易做到
-
@harry:当屏幕改变时,文本可能是 2,3... 行文本。而且css3还没有很好的浏览器支持
-
这就是你要找的jsfiddle.net/xkr6v9yh/4?
-
@Nrc:即使不支持,这种方法也会支持。文本行数增加。从 IE9 开始支持转换,Microsoft 自己从一月开始放弃对 IE8 的支持。
标签: html css responsive-design