【发布时间】:2020-12-19 05:27:37
【问题描述】:
在这个JSFiddlehttps://jsfiddle.net/Please_Reply/Lj0x38f2/6/中,可以看到这行代码...
<div style="float:right; font-size:24px; font-family:'Myriad Pro';">Above</div>
导致一个问题,因为它应该在导航栏的正上方,同时仍然浮动到右侧,但是当导航栏应该位于该 div 下方对齐时,它会将导航栏从右侧推出与标题的基础。
当我说导航栏时,我确实指的是下面所有的代码......
<div style="float:right"> <!-- This is the navigation menu -->
<div style="position:relative"> <!-- This is the container of the navigation menu -->
<div id="slider"></div> <!-- This is the slider bar -->
<a href="index.html"><div id="one" class="item"><div class="inside">Home</div></div></a> <!-- This is just one of the buttons -->
<a href="about.html"><div id="two" class="item"><div class="inside">About Us</div></div></a>
<a href="apps.html"><div id="three" class="item"><div class="inside">Apps</div></div></a>
<a href="contact.html"><div id="four" class="item"><div class="inside">Contact</div></div></a>
</div>
</div>
</div>
请记住,重新定位 div 时导航栏很容易损坏。
所有的代码加在一起就是……
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="css/cssfile.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container"> <!-- This is the container -->
<div class="header"> <!-- This is the header -->
<div style="float:left"> <!-- This is the logo -->
<img src="images/mattsubishilogowhite.png" height="120px"/>
</div>
<div style="float:right; font-size:24px; font-family:'Myriad Pro';">Above</div>
<div style="float:right; clear:both"> <!-- This is the navigation menu -->
<div style="position:relative"> <!-- This is the container of the navigation menu -->
<div id="slider"></div> <!-- This is the slider bar -->
<a href="index.html"><div id="one" class="item"><div class="inside">Home</div></div></a> <!-- This is just one of the buttons -->
<a href="about.html"><div id="two" class="item"><div class="inside">About Us</div></div></a>
<a href="apps.html"><div id="three" class="item"><div class="inside">Apps</div></div></a>
<a href="contact.html"><div id="four" class="item"><div class="inside">Contact</div></div></a>
</div>
</div>
</div>
<div class="body"> <!-- This is the body -->
</div>
<div class="footer"> <!-- This is the footer -->
</div>
</div>
</body>
</html>
<script type="text/javascript" src="./jquery-2.1.4.min.js"></script>
<script>
$(document).ready(function() {
$("#slider").animate({
"left": $(".item:first").position().left + "px",
"width": $(".item:first").width() + "px"
}, 0);
$(".item").hover(function() {
$("#slider").stop();
$("#slider").animate({
"left": $(this).position().left + "px",
"width": $(this).width() + "px"
}, 500);
});
$(".item").on("mouseout", function() {
$("#slider").stop();
$("#slider").animate({
"left": $('#one').position().left + "px",
"width": $('#one').width() + "px"
}, 500);
});
});
</script>
<script>
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isAtLeastIE11 = !!(navigator.userAgent.match(/Trident/) && !navigator.userAgent.match(/MSIE/));
if(isChrome){
alert("Your using Chrome, please be aware that using Chrome will reduce some functionality of this website therefore you should use Internet Explorer version 11 or higher.");
}else{
if(!isAtLeastIE11){
alert("Your version of Internet Explorer is below 11. It needs to be 11 or higher for some aspects of this website's functionality to work. Please update or use Chrome.");
}
}
</script>
【问题讨论】:
-
如果您希望它位于导航栏顶部,请使用
position: fixed或position: absolute之类的内容。 -
1.将您的问题的全部内容放入您的问题中,不要只是链接到它。您可以(并且应该)在现场使用 Stack Snippets(
<>工具栏按钮)创建可运行的 minimal reproducible example。 2.请不要大喊大叫。 3. 你最后喊出来的笔记完全不是你应该警告人们的方式。 “在它绊倒你之前,请注意导航栏布局很容易通过重新定位该 div 来搞乱”(最好有更多相关信息)。请记住,您是在要求人们花时间帮助您。请尊重这一点。 -
把
clear:both放在导航菜单上 -
position:fixed不是我要寻找的,问题中已明确概述。position:absolute不会产生预期的结果。 @gcampbell -
你能解释一下“在导航栏的正上方,同时仍然向右浮动”的意思吗?
标签: javascript jquery html css division