我有一个<h2>
元素,我希望将所附文本垂直居中。它在桌面Chrome上看起来是正确的,但在移动设备(iOS)Chrome上却看不到。我非常感谢对此问题的任何见解。下面是两个(桌面优先,移动秒)屏幕截图的链接:
Desktop (correct behaviour). Mobile (incorrect behaviour).
HTML和CSS代码包含在下面。为了便于阅读,我缩写了HTML代码。非常感谢,互联网!
HTML:
...
<body id="home">
<div id="main">
<div id="header">
...
</div>
<div id="content">
<img src="i/splash.jpg" alt="" id="splash" />
<div id="inner">
<h2>hi!</h2>
<p>Lorem ipsum...</p>
</div>
</div>
<div id="clear"></div>
<div id="footer">
<p>...</p>
</div>
</div>
</body>
...
CSS:
/* CSS RESET */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, div, ul#nav, ul#nav li, ul#nav li a, img#splash {
display: block;
}
body {
line-height: 1;
background: url('i/bg.jpg') fixed repeat;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* WALBAUM WEBFONT */
@font-face {
font-family: Walbaum;
src: url('f/WalbaumMTStd-Regular.otf');
}
@font-face {
font-family: Walbaum;
font-weight: bold;
src: url('f/WalbaumMTStd-Medium.otf');
}
@font-face {
font-family: Walbaum;
font-weight: bold;
font-style: italic;
src: url('f/WalbaumMTStd-MediumIt.otf');
}
@font-face {
font-family: Walbaum;
font-style: italic;
src: url('f/WalbaumMTStd-Italic.otf');
}
/* MAIN */
#main {
margin: 10px auto 0 auto;
max-width: 900px;
overflow: hidden;
}
/* HEADER */
#header {
width: 100%;
margin-bottom: -10px;
}
#logo {
float: none;
width: 358px;
margin: 0 auto 0 auto;
}
#logo a, #logo img {
width: 100%;
}
#subtitle {
text-align: center;
font-size: 14px;
color: #3f3f3f;
font-family: Georgia, serif;
width: 100%;
margin-top: -8px;
}
#subtitle strong {
font-weight: bold;
color: #982020;
}
ul#nav {
font-family: Walbaum, Georgia, serif;
font-size: 24px;
height: 100%;
text-transform: uppercase;
text-align: justify;
padding: 0 10px 0 10px;
}
ul#nav li a {
width: 100%;
height: 100%;
text-decoration: none;
}
ul#nav li {
display: inline-block;
height: 100%;
padding: 42px 2px 18px 2px;
margin: 0 7px 0 7px;
}
ul#nav:after {
content: '';
width: 100%;
display: inline-block;
}
ul#nav li#music a {
color: #d86619;
}
ul#nav li#photos a {
color: #1787ac;
}
ul#nav li#code a {
color: #17ac3a;
}
ul#nav li#about a {
color: #a317ac;
}
ul#nav li a:hover {
text-decoration: underline;
}
/* CONTENT */
#content {
width: 100%;
margin: 0 auto 10px auto;
}
#content img#splash {
width: 100%;
padding: 5px;
border: 1px solid #191919;
background-color: rgba(25,25,25,0.3);
margin: 0 auto 0 -6px;
}
#content #inner {
width: 100%;
}
#content #inner h2 {
width: 100%;
font-style: italic;
color: #999999;
text-align: center;
font-family: Walbaum, Georgia, serif;
font-size: 40px;
border-top: 1px dashed #333333;
border-bottom: 1px dashed #333333;
background-color: rgba(75,75,75,0.1);
margin: 0 auto 10px -6px;
text-shadow: 0.08em 0.08em 0.05em #090909;
padding: 0 6px 0 6px;
height: 32px;
line-height: 32px;
}
#content #inner p {
font-family: Georgia, serif;
text-align: justify;
color: #666666;
font-size: 14px;
margin-bottom: 14px;
}
/* FOOTER */
#clear {
clear: both;
}
#footer {
width: 100%;
text-align: center;
margin: 20px auto 20px auto;
}
/* RESPONSIVENESS */
@media screen and (min-width: 801px) {
#logo {
margin-right: 10px;
float: left;
}
#main {
padding: 0 10px 0 10px;
}
#content img#splash {
max-width: 75%;
float: left;
margin: 0;
}
#content #inner {
width: 22.5%;
float: right;
margin: 0;
}
}
@media screen and (max-width: 800px) and (min-width: 521px) {
#main {
max-width: 95%;
}
#content #inner {
margin-top: 10px;
}
}
@media screen and (max-width: 520px) and (min-width: 359px) {
ul#nav {
padding: 0 10px 0 10px;
}
ul#nav li {
margin: 0;
}
#main {
max-width: 100%;
}
#content {
width: 95%;
}
#content #inner {
margin-top: 5px;
}
}
@media screen and (max-width: 358px) {
#logo {
width: 100%;
}
ul#nav {
padding: 20px 5px 0 5px;
font-size: 20px;
}
ul#nav li {
margin: 0;
padding: 0 2px 0 2px;
}
#main {
max-width: 100%;
}
#content {
width: 95%;
}
#content #inner {
margin-top: 5px;
}
}
@media screen and (max-width: 300px) {
ul#nav {
padding: 10px 5px 0 5px;
}
ul#nav li {
width: 45%;
margin: 0;
padding: 0;
text-align: center;
}
#subtitle {
font-size: 10px;
}
}
答案 0 :(得分:0)
我认为,问题在于,移动浏览器会调整font-size
的大小。这不是一个好习惯,但你可以通过使用:
html {
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
-webkit-text-size-adjust: none;
text-size-adjust: none;
}
答案 1 :(得分:0)
使用em
进行字体大小调整 - 这会针对不同的窗口大小正确调整
#inner h2{
font-size: 1em
}
(例如)
答案 2 :(得分:0)
我已经检查了多个浏览器(网络/移动设备)。一切都对我很好。 但是,您可能遇到3个问题 -
1)字体问题
2)移动网络调整大小问题,如果不是流畅的布局。
3)缓存集