Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML/CSS:使我的徽标与导航栏的顶部和底部保持相等的距离 我的问题_Html_Css - Fatal编程技术网

HTML/CSS:使我的徽标与导航栏的顶部和底部保持相等的距离 我的问题

HTML/CSS:使我的徽标与导航栏的顶部和底部保持相等的距离 我的问题,html,css,Html,Css,我试图保持我的标志在我的导航栏的左侧,同时也保持它与导航栏顶部和底部的距离相等。(在提供的图片中解释) HTML: 解释 红色框是我的徽标当前所在的位置,似乎它被粘贴在导航栏的顶部 绿色盒子是我想要的东西——在NavBar的中间:从底部和顶部(不向左到右,我希望它像现在一样贴在左边)的距离() 所以我试着在网上研究它,这让我尝试 .logo-nav{ position: absolute; margin:auto ; 但不幸的是,它没有给我想要的结果。这就是我来这里的原因 我

我试图保持我的标志在我的导航栏的左侧,同时也保持它与导航栏顶部和底部的距离相等。(在提供的图片中解释)

HTML: 解释 红色框是我的徽标当前所在的位置,似乎它被粘贴在导航栏的顶部

绿色盒子是我想要的东西——在NavBar的中间:从底部和顶部(不向左到右,我希望它像现在一样贴在左边)的距离(

所以我试着在网上研究它,这让我尝试

.logo-nav{
    position: absolute;
    margin:auto ;
但不幸的是,它没有给我想要的结果。这就是我来这里的原因

我想我弄错的是对
位置
边距
工作原理的理解

所以我的问题是:我如何从红盒子到绿盒子?(我的代码有什么错误?

最重要的是 感谢您的输入:)

尝试此变体:

.navbar{
    width: 100%;
    height: 70px;
    background-color: #181827;
    position: relative;
}

.logo-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
尝试以下变体:

.navbar{
    width: 100%;
    height: 70px;
    background-color: #181827;
    position: relative;
}

.logo-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

您可以将一些
flexbox
属性应用于
#logo nav

.container{
最大宽度:100%;
保证金:自动;
}
navbar先生{
宽度:100%;
高度:70像素;
背景色:#181827 ;;
}
#标志导航{
显示器:flex;
对齐项目:居中;
身高:100%;
}
#标志nav a img{
显示:块;
宽度:自动;
/*确保图像高度不超过容器高度*/
最大高度:70像素;
}
.行{
宽度:100%;
高度:160px;
}
上校12{
宽度:100%;
}
.col-8{
宽度:66.6%;
}
.col-6{
宽度:50%
}
.col-4{
宽度:33.3%;
}

您可以将一些
flexbox
属性应用于
#徽标导航

.container{
最大宽度:100%;
保证金:自动;
}
navbar先生{
宽度:100%;
高度:70像素;
背景色:#181827 ;;
}
#标志导航{
显示器:flex;
对齐项目:居中;
身高:100%;
}
#标志nav a img{
显示:块;
宽度:自动;
/*确保图像高度不超过容器高度*/
最大高度:70像素;
}
.行{
宽度:100%;
高度:160px;
}
上校12{
宽度:100%;
}
.col-8{
宽度:66.6%;
}
.col-6{
宽度:50%
}
.col-4{
宽度:33.3%;
}

以下是导航栏徽标和链接的示例,可以帮助您:

.navbar{
宽度:100%;
高度:70像素;
背景色:#222;
}
纳瓦尔先生{
填充:0;
利润率:0.20px;
}
.navbar ul>li{
显示:块;
浮动:对;
}
.navbar ul>li>a{
显示:块;
填充:26px 10px;
颜色:#aaa;
文字装饰:无;
}
.navbar ul>li>a:悬停{
颜色:#fff
}
.navbar.logo{
浮动:左;
高度:50px;
宽度:50px;
利润上限:10px
}
.navbar.logo img{
宽度:100%;
身高:100%
}


以下是导航栏徽标和链接的示例,可以帮助您:

.navbar{
宽度:100%;
高度:70像素;
背景色:#222;
}
纳瓦尔先生{
填充:0;
利润率:0.20px;
}
.navbar ul>li{
显示:块;
浮动:对;
}
.navbar ul>li>a{
显示:块;
填充:26px 10px;
颜色:#aaa;
文字装饰:无;
}
.navbar ul>li>a:悬停{
颜色:#fff
}
.navbar.logo{
浮动:左;
高度:50px;
宽度:50px;
利润上限:10px
}
.navbar.logo img{
宽度:100%;
身高:100%
}


解决垂直对齐问题的一种简单且兼容的方法是使用容器元素的表格单元格显示,在您的示例中:

.col-4 {
    width:33.3%;
    display:table-cell;
    vertical-align: middle;
    height:70px;
}
.navbar{
    width: 100%;
    background-color: #181827;
    display:table;
}
要删除基线下的额外空白,请执行以下操作:

img {
  vertical-align: top;
}
虽然不是严格必要的,但是正确实现表格单元格显示应该通过一个显示来完成:外部元素上的表格;就你而言:

.col-4 {
    width:33.3%;
    display:table-cell;
    vertical-align: middle;
    height:70px;
}
.navbar{
    width: 100%;
    background-color: #181827;
    display:table;
}

解决垂直对齐问题的一种简单且非常兼容的方法是使用容器元素的表格单元格显示,在您的示例中:

.col-4 {
    width:33.3%;
    display:table-cell;
    vertical-align: middle;
    height:70px;
}
.navbar{
    width: 100%;
    background-color: #181827;
    display:table;
}
要删除基线下的额外空白,请执行以下操作:

img {
  vertical-align: top;
}
虽然不是严格必要的,但是正确实现表格单元格显示应该通过一个显示来完成:外部元素上的表格;就你而言:

.col-4 {
    width:33.3%;
    display:table-cell;
    vertical-align: middle;
    height:70px;
}
.navbar{
    width: 100%;
    background-color: #181827;
    display:table;
}

既然您已经将导航设置为固定高度(70px),那么您能否给.logo导航提供足够的顶部填充,以便将图像向下推到适当的位置?(无绝对定位)--我假设您知道图像的大小。@andi它不是100%好的变体:徽标可以有不同的高度,在您的情况下,用户每次更改徽标的大小时都必须更改填充,因为您已经将导航设置为固定高度(70px),你能不能给.logo导航足够的填充顶部,以便将图像向下推到适当的位置?(无绝对定位)--我假设您知道图像的大小。@andi它不是100%好的变体:徽标可以有不同的高度,在您的情况下,用户每次更改徽标的大小时都必须更改填充。在我的情况下,可能会重复,我喜欢
页边空白顶部:-@logoHeight/2而不是转换。@MartinHomola在这个变体中,我们必须为徽标设置一个固定的高度,对吗?是的,我经常知道徽标的高度。正如我所说,在我的情况下:@0_尝试添加.navbar{position:relative}too@0_jump是的,我已经检查过了,我编辑的变体必须有效。请检查codepen-在我的情况下,我喜欢
页边空白顶部:-@logoHeight/2而不是转换。@MartinHomola在这个变体中,我们必须为徽标设置一个固定的高度,对吗?是的,我经常知道徽标的高度。正如我所说,在我的情况下:@0_尝试添加.navbar{position:relative}too@0_jump是的,我已经检查过了,我编辑的变体必须有效。请检查密码笔-