Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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 悬停菜单列表项取消对齐_Html_Css_Onhover - Fatal编程技术网

Html 悬停菜单列表项取消对齐

Html 悬停菜单列表项取消对齐,html,css,onhover,Html,Css,Onhover,我使用简单的HTML和CSS创建水平菜单使用无序列表 这是HTML和CSS代码: .nav\u栏{ 左边距:700px; 边缘顶端:40px; 位置:绝对位置; } .nav_bar ul{ 列表样式类型:无; } 李国荣先生{ 显示:内联块; 文本对齐:居中; 浮动:左; } .nav_bar ul li a{ 文字装饰:无; 填充:12px; 利润率:8px; 字体大小:20px; 颜色:#fff; } .nav_bar ul li a::之后{ 内容:''; 显示:内联块; 宽度:0px

我使用简单的HTML和CSS创建水平菜单使用无序列表

这是HTML和CSS代码:

.nav\u栏{
左边距:700px;
边缘顶端:40px;
位置:绝对位置;
}
.nav_bar ul{
列表样式类型:无;
}
李国荣先生{
显示:内联块;
文本对齐:居中;
浮动:左;
}
.nav_bar ul li a{
文字装饰:无;
填充:12px;
利润率:8px;
字体大小:20px;
颜色:#fff;
}
.nav_bar ul li a::之后{
内容:'';
显示:内联块;
宽度:0px;
高度:4px;
背景:#ff6600;
过渡:宽度4s;
}
.nav_bar ul li a:悬停::之后{
宽度:100%;
}

试试这个:

添加
位置:绝对位置至<代码>:在标记的选择器之后

导航栏中删除
左边距
,然后添加
右边距:0

.nav_bar{
边缘顶端:40px;
位置:绝对位置;
右:0;
}
.nav_bar ul{
列表样式类型:无;
}
李国荣先生{
显示:内联块;
文本对齐:居中;
浮动:左;
}
.nav_bar ul li a{
文字装饰:无;
填充:12px;
保证金:0;
字体大小:20px;
颜色:#aaa;
显示:块;
位置:相对位置;
}
.nav_bar ul li a::之后{
内容:'';
显示:内联块;
宽度:0px;
高度:4px;
背景:#ff6600;
过渡:宽度4s;
位置:绝对位置;
左:50%;
底部:0;
转化:translateX(-50%);
}
.nav_bar ul li a:悬停::之后{
宽度:100%;
}

试试这个:

添加
位置:绝对位置至<代码>:在标记的选择器之后

导航栏中删除
左边距
,然后添加
右边距:0

.nav_bar{
边缘顶端:40px;
位置:绝对位置;
右:0;
}
.nav_bar ul{
列表样式类型:无;
}
李国荣先生{
显示:内联块;
文本对齐:居中;
浮动:左;
}
.nav_bar ul li a{
文字装饰:无;
填充:12px;
保证金:0;
字体大小:20px;
颜色:#aaa;
显示:块;
位置:相对位置;
}
.nav_bar ul li a::之后{
内容:'';
显示:内联块;
宽度:0px;
高度:4px;
背景:#ff6600;
过渡:宽度4s;
位置:绝对位置;
左:50%;
底部:0;
转化:translateX(-50%);
}
.nav_bar ul li a:悬停::之后{
宽度:100%;
}


删除导航条{左边距:0px}

添加导航栏ul li a位置:相对位置

添加导航栏ul li a:位置后:绝对

.nav_-bar ul{
列表样式类型:无;
}
李国荣先生{
显示:内联块;
文本对齐:居中;
}
.nav_bar ul li a{
文字装饰:无;
填充:12px;
保证金:0;
字体大小:20px;
颜色:#aaa;
显示:块;
位置:相对位置;
}
.nav_bar ul li a::之后{
内容:'';
显示:内联块;
宽度:0px;
高度:4px;
背景:#ff6600;
过渡:宽度4s;
位置:绝对位置;
左:50%;
底部:0;
转化:translateX(-50%);
}
.nav_bar ul li a:悬停::之后{
宽度:100%;
}


删除导航条{左边距:0px}

添加导航栏ul li a位置:相对位置

添加导航栏ul li a:位置后:绝对

.nav_-bar ul{
列表样式类型:无;
}
李国荣先生{
显示:内联块;
文本对齐:居中;
}
.nav_bar ul li a{
文字装饰:无;
填充:12px;
保证金:0;
字体大小:20px;
颜色:#aaa;
显示:块;
位置:相对位置;
}
.nav_bar ul li a::之后{
内容:'';
显示:内联块;
宽度:0px;
高度:4px;
背景:#ff6600;
过渡:宽度4s;
位置:绝对位置;
左:50%;
底部:0;
转化:translateX(-50%);
}
.nav_bar ul li a:悬停::之后{
宽度:100%;
}


我修复了你的代码,我得到了类似的东西

.nav_bar ul li a{
    text-decoration: none;
    padding: 12px;
    margin: 8px;
    font-size: 20px;
    color: orange;
    position: relative;
}

.nav_bar ul li a::after{
       content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 4px;
    background: #ff6600;
    transition: width .4s;
    width: 0;
}
问题是在显示
内联块
之后显示
,因此它与achor标记内联呈现。而且,由于achor标记没有足够的宽度来显示
::after
内联,因此您的
::after将在锚定标记后包装。

看到这个:

我修复了你的代码,我得到了类似的东西

.nav_bar ul li a{
    text-decoration: none;
    padding: 12px;
    margin: 8px;
    font-size: 20px;
    color: orange;
    position: relative;
}

.nav_bar ul li a::after{
       content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 4px;
    background: #ff6600;
    transition: width .4s;
    width: 0;
}
问题是在显示
内联块
之后显示
,因此它与achor标记内联呈现。而且,由于achor标记没有足够的宽度来显示
::after
内联,因此您的
::after将在锚定标记后包装。

请参见:

我使用边距对齐右侧的div如果我删除此边距,它将浮动在左侧您必须将菜单对齐在右侧吗?除上述输出外,左侧的徽标正常。正确。我用边距对齐右边的div。如果我去掉这个边距,它将浮动在左边。你必须对齐右边的菜单吗?除上述输出外,左侧的徽标正常。正确。当我在导航栏上添加这一行(位置:绝对;)时:在它变得更不稳定后,我使用边距对齐右侧的div。如果我删除此边距,它将在左侧浮动。当我在导航栏上添加这一行(位置:绝对;)时:在它变得更不稳定后,我使用边距对齐div