一些浮动项目不 re-sizing 适当 (CSS / XHTML)
Some floating items are not re-sizing appropriately (CSS / XHTML)
所以,我正在使用 XHTML 和 CSS 完成一项学校作业。
我在页面的主要布局的许多地方使用了浮动 css 属性。当 re-sizing 浏览器时,只有部分项目 re-size 正确。
我已经参考了 W3Schools.com 几个小时,并从那里弄乱了各种编码样本,但没有运气解决我的问题。
我在顶部有 header(它有一个容器 [header],然后在 [leftHeader 和 rightHeader] 中有两个单独的 div。正确的 header 似乎不 re-size 正确(即使在 JSFiddle 示例中你甚至看不到它)。
另一个问题是主容器由[main]组成,作为容器div容纳所有主要内容,然后在[照片]和[摘要]。 [照片] 和 [摘要] 未 re-size 适当地位于 [主] 内, [摘要] 与页脚重叠。
据我所知,[页脚] 和 [导航栏] re-size 还不错。
任何关于为什么会发生这种情况的帮助,我做错了什么,以及可能的解决方案将不胜感激!
JSFiddle:https://jsfiddle.net/0mjezprv/
<title>Assignment #1</title>
</head>
<body>
<div>
<div id="header">
<div id="leftHeader">
<p class="header">
Class (Semester 2016)<br/>
Professor Name Here<br/>
George Mason University
</p>
</div>
<div id="rightHeader">
<p class="header">
Name Here<br/>
<a href="mailto:kzuiker3@gmu.edu">email@gmu.edu</a><br/>
<strong>Last Modified: </strong><em>Time Date Zone</em>
</p>
</div>
</div>
<div id="navBar">
<strong>Assignments</strong>
<ul>
<li><a href="Assignment1/">Assignment 1</a></li>
<li><a href="Assignment2/">Assignment 2</a></li>
<li><a href="Assignment3/">Assignment 3</a></li>
<li><a href="Assignment4/">Assignment 4</a></li>
</ul>
<br/>
<strong>Lab Practica</strong>
<ul>
<li><a href="Practicum1">Practicum 1</a></li>
<li><a href="Practicum2">Practicum 2</a></li>
</ul>
</div>
<div id="footer">
<p class="footer">
This web site is entirely orginal work therefore full academic copyright is retained. This web site complies with the <a href="honor_code_website">Mason Honor Code</a>.</p>
</div>
<div id="main">
<div>
<div id="photograph">
<img src="Personal_Picture.jpg" alt="Picture" style="width:300px;height:240px;" />
</div>
<div id="summary">
<p class="summaryText">
<strong>Summary</strong></p>
<ul>
<li><strong>Personal</strong>
<ul>
<li>Hobby</li>
<li>Hobby</li>
<li>Hobby</li>
</ul>
</li>
<li><strong>Academic</strong>
<ul>
<li>Information Technology major</li>
<li>3.92 GPA</li>
<li>Senior standing</li>
</ul>
</li>
</ul>
</div>
</div>
<p class="mainText" style="text-align: right;padding:3px 50px 0px 50px;"><strong>Professional & Personal Details</strong></p>
<p style="padding:0px 50px 5px 400px;">
Personal information here
</p>
</div>
</div>
</body>
</html>`
您的右侧 header 不可见,因为 [leftHeader] 和 [rightHeader] 的边框导致两个元素的大小都超过 50%。
更正此问题的最简单方法是在宽度声明中使用 calc() 函数
.example {
width: calc(50% - 3px)
}
以上将宽度设置为屏幕或容器的 50%,然后将其缩小 3 像素以允许边框。
[照片]、[摘要] 和 [主要] 不会 re-size,因为您给它们指定了固定大小而不是相对大小。随着您的屏幕变小,这些只会占用更多 space 而不是调整。这就是 [footer] 重叠的原因,以便它可以位于指定位置。
我在下面提供了一个修复程序,用于导航和 headers 以正确定位和调整大小。这也应该有助于指导您解决其余问题。
#header{
position: fixed;
width:calc(100% - 206px);
height: 100px;
float:left;
top: 0;
right: 0;
border: solid 3px;
background-color: yellow;
}
#leftHeader{
width:calc(50% - 3px);
height: 100%;
display:inline-block;
border-right: solid 2px;
text-align: center;
}
#rightHeader{
width:calc(50% - 3px);
height: 100%;
display:inline-block;
text-align: center;
}
#navBar {
background-color: lightgreen;
position: fixed;
left: 0;
top: 0;
bottom: 0;
width: 197px;
border: solid 3px;
}
<div id="navBar">
<strong>Assignments</strong>
<ul>
<li><a href="Assignment1/">Assignment 1</a></li>
<li><a href="Assignment2/">Assignment 2</a></li>
<li><a href="Assignment3/">Assignment 3</a></li>
<li><a href="Assignment4/">Assignment 4</a></li>
</ul>
<br/>
<strong>Lab Practica</strong>
<ul>
<li><a href="Practicum1">Practicum 1</a></li>
<li><a href="Practicum2">Practicum 2</a></li>
</ul>
</div>
<div id="header">
<div id="leftHeader">
<p class="header">
Class (Semester 2016)<br/>
Professor Name Here<br/>
George Mason University
</p>
</div>
<div id="rightHeader">
<p class="header">
Name Here<br/>
<a href="mailto:email3@gmu.edu">email@gmu.edu</a><br/>
<strong>Last Modified: </strong><em>Time Date Zone</em>
</p>
</div>
</div>
所以,我正在使用 XHTML 和 CSS 完成一项学校作业。
我在页面的主要布局的许多地方使用了浮动 css 属性。当 re-sizing 浏览器时,只有部分项目 re-size 正确。
我已经参考了 W3Schools.com 几个小时,并从那里弄乱了各种编码样本,但没有运气解决我的问题。
我在顶部有 header(它有一个容器 [header],然后在 [leftHeader 和 rightHeader] 中有两个单独的 div。正确的 header 似乎不 re-size 正确(即使在 JSFiddle 示例中你甚至看不到它)。
另一个问题是主容器由[main]组成,作为容器div容纳所有主要内容,然后在[照片]和[摘要]。 [照片] 和 [摘要] 未 re-size 适当地位于 [主] 内, [摘要] 与页脚重叠。
据我所知,[页脚] 和 [导航栏] re-size 还不错。
任何关于为什么会发生这种情况的帮助,我做错了什么,以及可能的解决方案将不胜感激!
JSFiddle:https://jsfiddle.net/0mjezprv/
<title>Assignment #1</title>
</head>
<body>
<div>
<div id="header">
<div id="leftHeader">
<p class="header">
Class (Semester 2016)<br/>
Professor Name Here<br/>
George Mason University
</p>
</div>
<div id="rightHeader">
<p class="header">
Name Here<br/>
<a href="mailto:kzuiker3@gmu.edu">email@gmu.edu</a><br/>
<strong>Last Modified: </strong><em>Time Date Zone</em>
</p>
</div>
</div>
<div id="navBar">
<strong>Assignments</strong>
<ul>
<li><a href="Assignment1/">Assignment 1</a></li>
<li><a href="Assignment2/">Assignment 2</a></li>
<li><a href="Assignment3/">Assignment 3</a></li>
<li><a href="Assignment4/">Assignment 4</a></li>
</ul>
<br/>
<strong>Lab Practica</strong>
<ul>
<li><a href="Practicum1">Practicum 1</a></li>
<li><a href="Practicum2">Practicum 2</a></li>
</ul>
</div>
<div id="footer">
<p class="footer">
This web site is entirely orginal work therefore full academic copyright is retained. This web site complies with the <a href="honor_code_website">Mason Honor Code</a>.</p>
</div>
<div id="main">
<div>
<div id="photograph">
<img src="Personal_Picture.jpg" alt="Picture" style="width:300px;height:240px;" />
</div>
<div id="summary">
<p class="summaryText">
<strong>Summary</strong></p>
<ul>
<li><strong>Personal</strong>
<ul>
<li>Hobby</li>
<li>Hobby</li>
<li>Hobby</li>
</ul>
</li>
<li><strong>Academic</strong>
<ul>
<li>Information Technology major</li>
<li>3.92 GPA</li>
<li>Senior standing</li>
</ul>
</li>
</ul>
</div>
</div>
<p class="mainText" style="text-align: right;padding:3px 50px 0px 50px;"><strong>Professional & Personal Details</strong></p>
<p style="padding:0px 50px 5px 400px;">
Personal information here
</p>
</div>
</div>
</body>
</html>`
您的右侧 header 不可见,因为 [leftHeader] 和 [rightHeader] 的边框导致两个元素的大小都超过 50%。
更正此问题的最简单方法是在宽度声明中使用 calc() 函数
.example {
width: calc(50% - 3px)
}
以上将宽度设置为屏幕或容器的 50%,然后将其缩小 3 像素以允许边框。
[照片]、[摘要] 和 [主要] 不会 re-size,因为您给它们指定了固定大小而不是相对大小。随着您的屏幕变小,这些只会占用更多 space 而不是调整。这就是 [footer] 重叠的原因,以便它可以位于指定位置。
我在下面提供了一个修复程序,用于导航和 headers 以正确定位和调整大小。这也应该有助于指导您解决其余问题。
#header{
position: fixed;
width:calc(100% - 206px);
height: 100px;
float:left;
top: 0;
right: 0;
border: solid 3px;
background-color: yellow;
}
#leftHeader{
width:calc(50% - 3px);
height: 100%;
display:inline-block;
border-right: solid 2px;
text-align: center;
}
#rightHeader{
width:calc(50% - 3px);
height: 100%;
display:inline-block;
text-align: center;
}
#navBar {
background-color: lightgreen;
position: fixed;
left: 0;
top: 0;
bottom: 0;
width: 197px;
border: solid 3px;
}
<div id="navBar">
<strong>Assignments</strong>
<ul>
<li><a href="Assignment1/">Assignment 1</a></li>
<li><a href="Assignment2/">Assignment 2</a></li>
<li><a href="Assignment3/">Assignment 3</a></li>
<li><a href="Assignment4/">Assignment 4</a></li>
</ul>
<br/>
<strong>Lab Practica</strong>
<ul>
<li><a href="Practicum1">Practicum 1</a></li>
<li><a href="Practicum2">Practicum 2</a></li>
</ul>
</div>
<div id="header">
<div id="leftHeader">
<p class="header">
Class (Semester 2016)<br/>
Professor Name Here<br/>
George Mason University
</p>
</div>
<div id="rightHeader">
<p class="header">
Name Here<br/>
<a href="mailto:email3@gmu.edu">email@gmu.edu</a><br/>
<strong>Last Modified: </strong><em>Time Date Zone</em>
</p>
</div>
</div>