iphone - iPhone Safari 上的定位和字体大小问题

标签 iphone css browser mobile-safari

我正在尝试制作这个网站:http://501commons.org在 iPhone 上呈现与在其他浏览器上相同的效果。在 Android 上它工作得很好。我已经将 -webkit-text-size-adjust: 100%; 添加到 body 样式中,这有点帮助。仍然不起作用的是以下部分,我不明白为什么移动 safari 没有正确显示它们:

  • 左上角的 Logo 不会显示
  • 右上角的搜索框太靠左了
  • 标题“A Resource for Nonprofits etc”中的红色标语太大、太低,并且超出了右边界
  • 三个导航菜单项(Explore the Commons、Volunteer、Invest)的字体太大

其他一切似乎都还不错,至少在主页上是这样。奇怪的是,上述四个问题都出现在标题中。

任何帮助将不胜感激! 谢谢!

最佳答案

我想通了:

左上角的标志

Logo 未显示是由于一个奇怪的非级联问题。 Logo 是 <img> <a id="portal-logo" ...> 内的选项卡. #portal-logo有一个 display: inline-block;在适用于它的倒数第二个样式表中,但在最后一个样式表中没有规则。换句话说,这就是我们所拥有的:

#portal-logo {       /* in the last CSS file */
   margin-bottom: 0;
}

#portal-logo {      /* in the next-to-last CSS file */
   display: inline-block;
   margin: 1.375em 0;
}

添加display: inline-block;最后一个样式表神奇地使 Logo 出现。然后我还不得不摆弄 margin小号,position , top等,以使其出现在正确的位置,但所有这些都在一个 CSS 文件中,该文件仅在移动浏览器上有条件地加载,所以没关系。 iOS 上的 Safari 不级联 display: inline-block; 真的很奇怪风格!

搜索框

我通过添加 text-align:right; 使搜索框呈现在适当的位置到它的容器,即使较早的规则针对与 text-align:left; 相同的容器使其在所有其他浏览器中都能正常工作。

口号

标语需要进行最多的调整。它包含在 <div id="slogan"> 中.这是旧规则:

#slogan {
  color: #EE3524;
  float: right;
  font-size: 110%;
  font-weight: bold;
  margin-right: -190px;
  padding-top: 60px;
  position: relative;
  z-index: 1;
}

这是适用于移动 safari 的新规则:

#slogan {
  -webkit-text-size-adjust: 100%;
  clear:right;
  color:#ee3524;
  font-size:17.6px;
  font-weight: bold;
  float:right;
  margin-right:0px;
  padding-bottom:50px;
  padding-top:0px;
  position:relative;
  text-align:right;
  z-index:1;
}

关键区别之一是绝对 font-size以 px 为单位,而不是 % 值。

菜单项字体

同样,指定 font-size in px 而不是 % 似乎是这里的关键:

旧的:

#portal-globalnav li a {
  background-color: transparent;
  color: #FFFFFF;
  font-size: 1.2em;
  font-weight: bold;
  min-width: 3em;
  padding-bottom: 11px;
}

新:

#portal-globalnav li a {
  background-color:transparent;
  color:#fff;
  font-size:15.4px;
  font-weight:bold;
  padding-bottom:11px;
  min-width:3em;
}

YMMV!

关于iphone - iPhone Safari 上的定位和字体大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7585020/

相关文章:

iphone - Objective C 数组元素都以相同的值结束

iphone - 停止核心位置更新,然后使用计时器重新启动它们

browser - 浏览器/服务器如何协同工作以显示 html 页面?

browser - 让 UTF-8 文本文件在所有浏览器上显示

JavaScript 竞争条件?

javascript - 可用的 iPhone Web 应用程序 JavaScript UI 库/框架

iphone - 将所有声音录制为一个音轨 (iOS)

php - 错误地在sql中显示产品

java - 在 FXML 中以声明方式设置样式表

html - 边框和尺寸在 Firefox 中不起作用