Javascript 是否可以将已经有float:left的div居中;设置

Javascript 是否可以将已经有float:left的div居中;设置,javascript,jquery,html,css,Javascript,Jquery,Html,Css,目前我正在尝试为我的网站创建一个dock(类似于iOS dock),我的完整代码是 函数addPrevClass(e){ var目标=e.target; if(target.getAttribute('src')){//检查它是否为img var li=target.parentNode.parentNode; var prevLi=li.previouselement同级; if(prevLi){ prevLi.className='prev'; } target.addEventListe

目前我正在尝试为我的网站创建一个dock(类似于iOS dock),我的完整代码是

函数addPrevClass(e){
var目标=e.target;
if(target.getAttribute('src')){//检查它是否为img
var li=target.parentNode.parentNode;
var prevLi=li.previouselement同级;
if(prevLi){
prevLi.className='prev';
}
target.addEventListener('mouseout',function(){
prevLi.removeAttribute(“类”);
},假);
}
}
if(window.addEventListener){
document.getElementById(“dock”).addEventListener(“鼠标悬停”,addPrevClass,false);
}
li{
浮动:左;
}
保险商实验室{
列表样式类型:无;
保证金:0;
填充:0;
溢出:隐藏;
背景色:rgba(255,255,255,0.05);
}
#李明{
宽度:64px;
高度:64px;
-webkit框反射:低于2px-webkit渐变(线性、左上、左下、从(透明)、颜色停止(0.7,透明)到(rgba(255、255、255、255、5));
/*反射仅由webkit支持*/
-webkit转换:所有0.3;
-webkit转换来源:50%100%;
}
#李码头:悬停{
-webkit转换:规模(2);
边缘:0.2米;
}
#李码头:悬停+李img,
#李码头{
-webkit转换:比例(1.5);
边缘:0.1.5em;
}
#码头集装箱保险柜{
文本对齐:居中;
}


将float:left更改为display:inline;或显示:li的内联块,取决于您的需要:

li {
  display: inline-block;
}

您可以使用显示:表格;属性和设置边距:自动;如果我理解你的烦恼。通过这种方式,ul可以缩小其内容,并且仍然可以作为块元素

函数addPrevClass(e){
var目标=e.target;
if(target.getAttribute('src')){//检查它是否为img
var li=target.parentNode.parentNode;
var prevLi=li.previouselement同级;
if(prevLi){
prevLi.className='prev';
}
target.addEventListener('mouseout',function(){
prevLi.removeAttribute(“类”);
},假);
}
}
if(window.addEventListener){
document.getElementById(“dock”).addEventListener(“鼠标悬停”,addPrevClass,false);
}
li{
浮动:左;
}
保险商实验室{
显示:表格;
保证金:自动;
列表样式类型:无;
/*保证金:0*/
填充:0;
溢出:隐藏;
背景色:rgba(255,255,255,0.05);
}
#李明{
宽度:64px;
高度:64px;
-webkit框反射:低于2px-webkit渐变(线性、左上、左下、从(透明)、颜色停止(0.7,透明)到(rgba(255、255、255、255、5));
/*反射仅由webkit支持*/
-webkit转换:所有0.3;
-webkit转换来源:50%100%;
}
#李码头:悬停{
-webkit转换:规模(2);
边缘:0.2米;
}
#李码头:悬停+李img,
#李码头{
-webkit转换:比例(1.5);
边缘:0.1.5em;
}
#码头集装箱保险柜{
文本对齐:居中;
}


如果要保留浮动:left以避免每个列表项之间的空格,可以使用:

#dock {
    text-align: center;
}

ul {
    display: inline-block;
}

css3可以拯救你。添加以下内容并重试

#dock{
  display: flex;
  align-items: center;
  justify-content: center;
}

可以将物体垂直和水平居中。你能更具体地说你想要水平居中还是垂直居中吗?这可能是css中水平列表居中的正常方法。请注意,使用display:inline时,列表中的每个元素之间都会有一个空格。()将li更改为显示:内联;使我的停靠垂直,可能css文件中的其他内容影响了它?感谢您的评论,我不确定内联块和内联块之间是否有关系,但确实有关系。我只是在您的代码示例中做了这件事,它起了作用。如果你的完整应用程序中没有出现这种情况,你可能有其他错误,但在你发布的代码中,它确实起作用。