gpt4 book ai didi

html - div 中的字体大小减小设置为高度 100%

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:45 24 4
gpt4 key购买 nike

我正在创建一个只有一页的网站。但是页面顶部有一个div占了100%的屏幕高度,营造出整页的效果。一切正常,但在移动设备上,100% 高度 div 中的任何文本的字体大小都在减小。我之前发布过这个问题,但是,这次我做了更多的研究。

这是我写的代码:

h1{
text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
0px 8px 13px rgba(0,0,0,0.1),
0px 18px 23px rgba(0,0,0,0.1);
}
html {
height: 100%;
min-height: 100%;
}
body {

background: #1A3742;
font-family: 'Source Sans Pro', sans-serif;
color: white;
margin: auto 100px;
height: 100%;
}
#header {
background: gray;
padding: 28px 0 26px;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
width: 100%;

}

#top{
text-align: center;
height: 100%;

}
#home-content{
position: relative;
top: 50%;
transform: translateY(-50%);
}
a[href="#top"] {
margin-left:100px;
margin-right:50px;
vertical-align: middle;
text-decoration: none;
font-weight: bold;
}
a img{
vertical-align:middle;
}
.content {
margin-left:75px;
margin-top:25px;
overflow: hidden;
}
.content p{
margin-top: 0px;
}
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<header id="header">
<a href="#top">Name</a>
<a href="">
<img src="" alt="img" height="24" width="24">
</a>
</header>

<div id="top">
<div id = "home-content">

<h1>Top</h1>
<h2>Sub title</h2>
<p>
This text does not scale at all.
</p>
</div>
</div>
<div id="section1">
<h1>Section 1</h1>
<div class = "content">

<p>
This scales with the screen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

</p>

</div>
</div>
</body>
</html>

下面是一个在 Galaxy S5 上使用 Chrome 设备模式的示例。请注意,我向下滚动了一点,以便您可以看到登陆部分的文本和第 1 部分的文本。 enter image description here

Top 的字体大小应与 Section 1 的字体大小相同。

如果我删除#top 中的行:

    height: 100%;

顶部的字体大小不变:

enter image description here

我知道我使用的是默认字体大小,但我不希望这会导致问题。使用 Chrome Inspector,这里是字体大小:

  • HTML - 16px
  • 正文 - 16px
  • div id=top - 16px
  • h1(#top 内)- 32px

  • div id=section1 - 16px

  • h1(#section1 内)- 42.6667px

h1 的字体大小为 2em。因此,Top 的 32px 有意义,而 42.6667px 则没有。我的笔记本电脑上使用任何网络浏览器都没有这个问题,只有移动设备。我实际上更喜欢移动设备上的 42.6667px,因为它更符合条件。但是,我希望字体大小匹配。

因为当我删除 div height=100% 时#top div 的字体大小很好,我决定我可以使用 jQuery 和边距创建相同的整页效果。

var winHeight = $(window).height();
var topHeight = $('#top').outerHeight(true);
$('#top').css({
'marginTop':(winHeight/2)-topHeight
,'marginBottom':(winHeight/2)//-topHeight
});

但是,我真的不想这样做。

那么,有没有办法让#top 字体大小与#section1 字体大小匹配?

最佳答案

您正在制作响应式网站,但尚未配置视口(viewport)。很棒的链接 here关于它,但本质上:

Without a viewport, mobile devices will render the page at a typical desktop screen width, scaled to fit the screen.

因此,在您的 100% 高度和 Chrome 的设备模式渲染该高度比实际高度大得多的情况下,您得到了小文本。

将以下内容添加到头部将使您的网站在移动设备上正确显示:

<meta name="viewport" content="width=device-width, initial-scale=1" />

但是,您需要进行一些更改,因为正文两侧的 100 像素边距会将您的内容挤压成一个细长的列。

关于html - div 中的字体大小减小设置为高度 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com