gpt4 book ai didi

javascript - 中心 div block 但不在最后一行

转载 作者:技术小花猫 更新时间:2023-10-29 11:39:14 25 4
gpt4 key购买 nike

除了最后一行之外,我真的很难让 div block 居中。

其他人已经创建了这个 fiddle 来证明我的问题。您可以看到即使调整窗口大小时,结果面板中的 block 如何保持居中。我希望有类似的行为,但是如果最后一行包含的 block 少于上面的行,那么最后一行不应该居中而是左对齐。

这是 fiddle : http://jsfiddle.net/zbbHc/1/

有人可能会问我为什么不直接使用 float:left。这样做的问题是,如果不为我的包装器指定固定宽度,我找不到使用该方法使我的 block 居中的方法。我尽量让一切都保持流动。

最佳答案

试试这个 fiddle http://jsfiddle.net/zbbHc/45/

不确定,但我认为这是我们单独使用 CSS 所能做的最大事情。

更新:(这并非在所有情况下都有效,请检查下面在所有情况下都有效的代码 [我猜])

HTML

<div class="wrapper">
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB hide"></div>
<div class="iB hide"></div>
</div>

CSS

.wrapper {
width: 100%;
background: red;
text-align: center;
text-align-last: left;
}

.iB {
display:inline-block;
width: 200px;
height: 100px;
background: green;
}
.iB.hide {
visibility:hidden;
}

这里是使用 jQuery 的快速但肮脏的方法。这将自动添加不可见元素

在这里 fiddle http://jsfiddle.net/fD6fn/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="lib/jquery-1.6.2.min.js"></script>
<style>
.wrapper {
width: 100%;
background: red;
text-align: center;
text-align-last: left;
}

.iB {
display:inline-block;
width: 200px;
height: 100px;
background: green;
}
.iB.hide {
visibility:hidden;
}

</style>
</head>

<body>
<div class="wrapper" id="wrapper">
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
<div class="iB"></div>
</div>
<script language="javascript">
function findHiddenElementCount() {
var $wrapper = $("#wrapper"),
itemWidth = "200",
count = "",
itemCount = 7;

count = $wrapper.width()/itemWidth;

// Some wild logic below, can be optimized.
return parseInt(count) - (itemCount - (parseInt(itemCount/parseInt(count)) * parseInt(count))) ;
}



function addInvisibleElements()
{
// Delete invisible items
$("#wrapper .iB.hide").remove();


var c = findHiddenElementCount();

for(var i = 0; i < c;i++)
{
$("#wrapper").append('<div class="iB hide"></div>');
}

}

$(window).bind("resize",addInvisibleElements); // resize handler

$(document).ready(addInvisibleElements); // take care during page load

</script>
</body>
</html>

关于javascript - 中心 div block 但不在最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com