浮动在移动横幅上的替代方案

时间:2016-06-10 08:24:05

标签: html css web

我正在使我的所有容器都保持完整状态"当视口小于网站的分辨率时,并正确定位。

到目前为止,除了导航栏之外,一切都变得简单了。

在调整窗口大小时,导航栏文本会移动。 它目前与float:right;

保持一致

有浮动的替代方法可以在这个实例中工作吗? 我尝试定义左右边距,但文字并没有保持直线。

有问题的网站是:njdartistics.com



@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'Bebas';
    src: url(Website%20Specific%20Resources/BEBAS.TTF)
}


body {
	background-image:url(Website%20Specific%20Resources/Background.png);

	width:1920px;
	margin: auto;
}

.outercontainer{
      height:100%;
      width:100%
}

.container {
	width:960px;
	margin: 0 auto;
		border-left:solid #000;
		border-right:solid #000;
background-color:#AAADAD;

}

.header {
	background-image:url(Website%20Specific%20Resources/New_Banner_.png);
	height: 300px;
	width: 100%;
	top: 0;
	position: fixed;
}



A {
	text-decoration:none;
	font-family: "bebas";
	color: #fff;
	
}

li {
	list-style:none;
	float:left;
	padding-right:50px;
	margin-left:25px;
	padding-top:15px;
	font-size:24px;
	
	
}

.nav {
	float: inherit;
	position: absolute;
}
.content {
font-family: "bebas";
width: 900px;
background-color:#AAADAD;

	
}
	

<!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>Index</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>

	<div class="header">
    	<div class="container">
       
            
    <div class="nav">
    	<ul>
        <li><a href="#">Home </a></li>
        <li><a href="#">About  Us </a></li>
        <li><a href="#">Products </a></li>
        <li><a href="#">Gallery </a></li>
        <li><a href="#">Contact  Us </a></li>
        </ul>
        
        </div>
        </div>
        </div>
        <div class="outercontainer">
        <div class="container">
        <div class="content" >
          <p>asdasdasdasdaf</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>asdasdasdasdafasdasdasdasdafasdasdasdasdafasdasdasdasdafasdasda</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>sdasdafasdasdasdasdafasdasdasdasdafasdasdasdasdafasdasdasdasdafasdasdasdasdaf</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
       
        </div>
        </div>
        </div>
</body>
</html>
&#13;
&#13;
&#13;

提前致谢。

2 个答案:

答案 0 :(得分:0)

正如我所理解的那样,您希望导航栏文本响应并保持一条线,对吗?

首先,尝试将以下css更改为以下内容:

body {
background-image:url(Website%20Specific%20Resources/Background.png);
font: 100%/1.5 serif; /* 16px */
width:1920px;
margin: auto;
}

li {
list-style:none;
float:left;
font-size:1.5em;
font-size:3vw;
padding:0 1%;
width:15%;
}

.nav {
float: inherit;
position: absolute;
width:100%;
}

使用em和vw的组合处理字体大小(但应注意,vw或视口宽度在每个浏览器中都不起作用(see here)。对于不支持的浏览器喜欢它,em可以尝试通过根据你为身体设置的任何字体大小来处理它。

或者(或者,实际上,另外 - 随意争吵),当涉及到字体大小时,您可以使用媒体查询来处理较小的视口/屏幕大小。例如:

 @media (max-width: 600px) {
    body { font: 80%; }
}

您可以根据需要调整大小。如果将其设置在主体上,则不必重写li或nav css,因为em单元将相应地做出响应。我会避免在任何事情中设置字体大小,因为px没有太大的灵活性。

也就是说,在这之后,你真的应该为移动设备设置不同的断点,例如,堆叠菜单或用汉堡包菜单图标将其半隐藏,否则文本会变得非常非常小。 。

答案 1 :(得分:0)

header { background-image:url(Website%20Specific%20Resources/New_Banner_.png); height: 300px; width: 1920px; top: 0; position: fixed; }

这就是问题所在。宽度为100%而不是固定分辨率。