gpt4 book ai didi

javascript - 图像拉伸(stretch)屏幕而不是适合 div

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:07 25 4
gpt4 key购买 nike

我正在尝试制作一个无需任何滚动即可适合单个屏幕的页面,但定义其格式的 CSS 无法正常工作。

问题可见JSFiddle

页脚固定在屏幕底部(应该如此),但背景图像(在内容中)从页眉下方延伸到页脚下方

调整浏览器大小时,背景图像似乎也有问题,但我相信在解决此问题时会解决这个问题。

我有以下代码:

HTML:index.html

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/main.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
function diff(A, B) {
return A.filter(function (a) {
return B.indexOf(a) == -1;
});
}

function show(shown) {
var all = ['home', 'about', 'projects', 'contact'];
var hide_these = diff(all, shown);
var hidden;
document.getElementById(shown).style.display='block';
for(hidden in hide_these)
document.getElementById(hide_these[hidden]).style.display='none';
$(".sidebar").slideToggle(600);
return false;
}
</script>
</head>
<body>
<div id="home">
<div class="header">
<div class="menu-btn"></div>
<h1>
Home
</h1>
</div>
<div class="sidebar">
<li><a href="#" onclick="return show('home');">Home</a></li>
<li><a href="#" onclick="return show('about');">About</a></li>
<li><a href="#" onclick="return show('projects');">Projects</a></li>
<li><a href="#" onclick="return show('contact');">Contact</a></li>
</div>
<div class="content">
<h1>Hello from Content!</h1>
</div>
<div class="footer">
Hello from footer.
</div>
</div>

<div id="about" style="display:none">
<div class="header">
<div class="menu-btn"></div>
<h1>
About
</h1>
</div>
<div class="sidebar">
<li><a href="#" onclick="return show('home');">Home</a></li>
<li><a href="#" onclick="return show('about');">About</a></li>
<li><a href="#" onclick="return show('projects');">Projects</a></li>
<li><a href="#" onclick="return show('contact');">Contact</a></li>
</div>
<div class="content">
<h1>Hello from Content!</h1>
</div>
<div class="footer">
Hello from footer.
</div>
</div>

<div id="projects" style="display:none">
<div class="header">
<div class="menu-btn"></div>
<h1>
Projects
</h1>
</div>
<div class="sidebar">
<li><a href="#" onclick="return show('home');">Home</a></li>
<li><a href="#" onclick="return show('about');">About</a></li>
<li><a href="#" onclick="return show('projects');">Projects</a></li>
<li><a href="#" onclick="return show('contact');">Contact</a></li>
</div>
<div class="content">
<h1>Hello from Content!</h1>
</div>
<div class="footer">
Hello from footer.
</div>
</div>

<div id="contact" style="display:none">
<div class="header">
<div class="menu-btn"></div>
<h1>
Contact
</h1>
</div>
<div class="sidebar">
<li><a href="#" onclick="return show('home');">Home</a></li>
<li><a href="#" onclick="return show('about');">About</a></li>
<li><a href="#" onclick="return show('projects');">Projects</a></li>
<li><a href="#" onclick="return show('contact');">Contact</a></li>
</div>
<div class="content">
<h1>Hello from Content!</h1>
</div>
<div class="footer">
Hello from footer.
</div>
</div>

<script>
$(function() {
$('body').addClass('loaded');
});

$(".menu-btn").on("click", function(){
$(".sidebar").slideToggle(600);
});

$(".header h1").delay(500).animate({"opacity": "1"}, 700);
</script>
</body>
</html>

CSS:main.css

    html,body {
padding: 0;
margin: 0;
font-family: arial;
}

html, body, #home{
width: 100%;
height:100%;
}
a {
color: black;
}

a:visited {
text-decoration: none;
color: black;
}


#home{
min-height:100%;
position:absolute;
}

#about, #projects, #contact{
width: 100%;
height:100%;
}

body .sidebar {
display:block;
}

body.loaded .sidebar {
display:none;
}

.header {
background-color: black;
height: 80px;
width: 100%;
font-family: cursive;
text-align: center;
color: white;
display:flex;
align-items: center;
z-index: 1;
position:relative;
}

.menu-btn {
background-image: url("../images/menu.png");
height: 48px;
width: 44px;
margin-left:50px;
}


.header h1 {
opacity: 0;
width:100%;
margin:0;
padding:0;
}

.sidebar {
position: absolute;
width: 200px;
top: 80px;
bottom: 0;
padding-top: 10px;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 8 */
filter: alpha(opacity=50); /* IE 5-7 */
-moz-opacity: 0.5; /* Netscape */
-khtml-opacity: 0.5; /* Safari 1.x */
opacity: 0.5; /* Good browsers */
}

.sidebar li {
color: black;
list-style-type: none;
margin-top: 10px;
width: 100%;

}

.sidebar li a {
text-decoration: none;
margin-left: 30px;
background-color: #9da1a4;
width: 100px;
padding: 8px;
border: 1px solid silver;
border-radius: 5px;
display: block;
}

.sidebar li a:hover {
background-color: #ebebeb;
}

.content {
top: -80px; /* Header height */
bottom: 30px;
background-image:url("../images/arbor.jpeg");
background-size: cover;
min-height: 100%;
min-width: 100%;
padding-top: 80px;
padding-bottom: 10px;
text-align: center;
}

.content p {
padding-top: -10px;
text-align: center;
color: black;
}

.footer {
width:100%;
height:30px;
text-align: center;
color: white;
background-color: black;
padding-top: 10px;
bottom:0;
left:0;
position: absolute;
}

.footer a img {
position: relative;
top: -5px;
}

我的修复尝试是将 .content 区域设置为 height = [30px, -80px](即从页脚顶部到页眉底部)。

我是 CSS 的新手,所以我敢肯定这是格式很差,提前致歉。

谢谢大家埃里普

最佳答案

如果你想在没有任何滚动的情况下在一个页面上显示所有内容,那么将 position:fixed 给 body。你可以在这里看到结果 http://jsfiddle.net/mcnn1d81/1/ .

关于javascript - 图像拉伸(stretch)屏幕而不是适合 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903770/

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