摆脱这个边距和垂直高度和对齐方式
Getting rid of this margin and vertical height and alignment
我正在尝试为我创建一个网站,但遇到了一些问题。
这就是我要实现的目标:
这就是我目前所拥有的
以下是我目前面临的问题:
我无法摆脱导航栏下方的白色 space,我删除了导航栏和 window 其余部分的边距和填充,但是没用。
我无法像第一张图片那样在中间垂直对齐文本。我尝试使用行高和填充,但是当我垂直调整浏览器 window 大小时,文本不响应大小。
无论浏览器 window 的大小如何,我都希望它保持在中间。
让背景图像适合 window 大小的最佳方法是什么?目前我正在使用
宽度:100%;
height:100vh;
背景图片:url("Images/background.jpg");
背景大小:100% 100%;
但我觉得这不是最好的方法
这是我目前的文档:
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
margin: 0;
padding: 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: 100% 100%;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
color: white;
font-size: 30px;
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
如果有人能帮助我解决所有这些问题,我将不胜感激
要删除不需要的边距和填充,您只需在 CSS 的顶部添加以下内容:
* {
margin:0;
padding:0;
}
这将删除 ALL 元素的边距,除非在 *
选择器下方另有声明。
JsFiddle *
选择器的例子
或者,您可以将 margin-top:0;
添加到 #jumbo h1
以仅删除 header 和内容之间的空格。
JsFiddle example 为 margin-top
希望对您有所帮助!
1) 您必须将 padding-top: 1px;
添加到 #jumbo
或从您的 h1 中删除 margin-top。
2) 使用包装器对齐文本。然后对其应用 top:50%; transform:translate(0, -50%);
3) #jumbo { 背景尺寸:封面; }
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
text-align:center;
margin: 0;
padding: 1px 0 0 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: cover;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
margin-top:0;
color: white;
font-size: 30px;
/*background-color:rgba(0,0,0,.5);*/
}
.teaser {
position:relative;
/*background-color:rgba(0,0,0,.5);*/
top:50%;
transform:translate(0, -50%);
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<div class="teaser">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
</div>
1) 空白就是 h1 的 margin-top
。
2) 使用flexbox
.
1.添加这个以去除白色 space(它来自 h1 标签)。
* {
margin:0;
padding:0;
}
您可以通过右键单击 h1 标签并单击检查来查看。
2。 div
中的居中文本
有关详细信息,请参阅 this answer。
3。完美的整页背景图片
CSS Tricks 对此有 a great post。
这是您提到的问题的答案
1- H1 标签默认有 margin top 和 down 所以 H1 标签的 margin-top 导致问题摆脱它你必须删除它
#jumbo h1 {
color: white;
font-size: 30px;
margin-top: 0;
padding-top: 20px;
}
2- 您必须将 jumbtron 的内容包装在新容器中,然后给 jumbtron 显示 table 和包装器显示 table-cell 并垂直居中对齐;
<div id="jumbo">
<div class="wrapper">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
和CSS
#jumbo {
display:table;
}
#jumbo .wrapper{
display: table-cell;
vertical-align: middle;
text-align: center;
}
这是一篇关于如何 align vertically 的完整文章
3- 最好的方法是
background-size: cover;
height: 100%;
100vh 并非在所有浏览器中都通用
- 您的 body 可能有一些 padding/margin。所以像
body{margin:0; padding:0}
一样将其设为零并应用#jumbo h1{margin: 0;}
2.apply#jumbo{text-align:center;position: relative;}
。然后添加一个额外的 div 像这样 <div class='v-block'><h1>Responsive Front-end Developer</h1><ul><li>HTML</li><li>CSS</li><li>JAVASCRIPT</li><li>JQUERY</li><li>WORDPRESS</li></ul></div>
并添加 css 像 .v-block{height: 80px;position: absolute;width: 100%;top: 50%;margin-top: -40px;}
- background-size:封面;这将避免拉伸背景图像。
最终代码如下..
body{
margin: 0;
padding: 0;
}
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
margin: 0;
padding: 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: 100% 100%;
text-align: center;
position: relative;
background-size: cover;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
color: white;
font-size: 30px;
margin: 0;
}
.v-block{
height: 80px;
position: absolute;
width: 100%;
top: 50%;
margin-top: -40px;
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<div class='v-block'>
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
</div>
我正在尝试为我创建一个网站,但遇到了一些问题。
这就是我要实现的目标:
这就是我目前所拥有的
以下是我目前面临的问题:
我无法摆脱导航栏下方的白色 space,我删除了导航栏和 window 其余部分的边距和填充,但是没用。
我无法像第一张图片那样在中间垂直对齐文本。我尝试使用行高和填充,但是当我垂直调整浏览器 window 大小时,文本不响应大小。 无论浏览器 window 的大小如何,我都希望它保持在中间。
让背景图像适合 window 大小的最佳方法是什么?目前我正在使用
宽度:100%; height:100vh; 背景图片:url("Images/background.jpg"); 背景大小:100% 100%;
但我觉得这不是最好的方法
这是我目前的文档:
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
margin: 0;
padding: 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: 100% 100%;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
color: white;
font-size: 30px;
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
如果有人能帮助我解决所有这些问题,我将不胜感激
要删除不需要的边距和填充,您只需在 CSS 的顶部添加以下内容:
* {
margin:0;
padding:0;
}
这将删除 ALL 元素的边距,除非在 *
选择器下方另有声明。
JsFiddle *
选择器的例子
或者,您可以将 margin-top:0;
添加到 #jumbo h1
以仅删除 header 和内容之间的空格。
JsFiddle example 为 margin-top
希望对您有所帮助!
1) 您必须将 padding-top: 1px;
添加到 #jumbo
或从您的 h1 中删除 margin-top。
2) 使用包装器对齐文本。然后对其应用 top:50%; transform:translate(0, -50%);
3) #jumbo { 背景尺寸:封面; }
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
text-align:center;
margin: 0;
padding: 1px 0 0 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: cover;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
margin-top:0;
color: white;
font-size: 30px;
/*background-color:rgba(0,0,0,.5);*/
}
.teaser {
position:relative;
/*background-color:rgba(0,0,0,.5);*/
top:50%;
transform:translate(0, -50%);
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<div class="teaser">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
</div>
1) 空白就是 h1 的 margin-top
。
2) 使用flexbox
.
1.添加这个以去除白色 space(它来自 h1 标签)。
* {
margin:0;
padding:0;
}
您可以通过右键单击 h1 标签并单击检查来查看。
2。 div
中的居中文本有关详细信息,请参阅 this answer。
3。完美的整页背景图片
CSS Tricks 对此有 a great post。
这是您提到的问题的答案 1- H1 标签默认有 margin top 和 down 所以 H1 标签的 margin-top 导致问题摆脱它你必须删除它
#jumbo h1 {
color: white;
font-size: 30px;
margin-top: 0;
padding-top: 20px;
}
2- 您必须将 jumbtron 的内容包装在新容器中,然后给 jumbtron 显示 table 和包装器显示 table-cell 并垂直居中对齐;
<div id="jumbo">
<div class="wrapper">
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
和CSS
#jumbo {
display:table;
}
#jumbo .wrapper{
display: table-cell;
vertical-align: middle;
text-align: center;
}
这是一篇关于如何 align vertically 的完整文章 3- 最好的方法是
background-size: cover;
height: 100%;
100vh 并非在所有浏览器中都通用
- 您的 body 可能有一些 padding/margin。所以像
body{margin:0; padding:0}
一样将其设为零并应用#jumbo h1{margin: 0;}
2.apply#jumbo{text-align:center;position: relative;}
。然后添加一个额外的 div 像这样 <div class='v-block'><h1>Responsive Front-end Developer</h1><ul><li>HTML</li><li>CSS</li><li>JAVASCRIPT</li><li>JQUERY</li><li>WORDPRESS</li></ul></div>
并添加 css 像 .v-block{height: 80px;position: absolute;width: 100%;top: 50%;margin-top: -40px;}
- background-size:封面;这将避免拉伸背景图像。
最终代码如下..
body{
margin: 0;
padding: 0;
}
#navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #272727;
border-top: 2px solid #5e20d1;
text-align: center;
}
#navigation a {
display: inline-block;
color: #747272;
text-align: center;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 15px;
padding-left: 15px;
margin: 0;
text-decoration: none;
}
#navigation li {
display: inline;
margin: auto;
}
#navigation a:hover {
color: white;
}
#jumbo {
margin: 0;
padding: 0;
width: 100%;
height: 90vh;
background-image: url("http://i.imgur.com/D1cF3ZG.jpg");
background-size: 100% 100%;
text-align: center;
position: relative;
background-size: cover;
}
#jumbo li {
display: inline;
margin: 1%;
color: white;
font-size: 20px;
}
#jumbo h1 {
color: white;
font-size: 30px;
margin: 0;
}
.v-block{
height: 80px;
position: absolute;
width: 100%;
top: 50%;
margin-top: -40px;
}
<div id="navigation">
<ul>
<li><a href="#">About</a>
</li>
<li><a href="#">Skills</a>
</li>
<li><a href="#">Projects</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
</div>
<div id="jumbo">
<div class='v-block'>
<h1>Responsive Front-end Developer</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JAVASCRIPT</li>
<li>JQUERY</li>
<li>WORDPRESS</li>
</ul>
</div>
</div>