我正在尝试制作一组< a>使用多列。 但它分裂了一个< a> (Link4)分为两列。 :( 只需将鼠标悬停在Link4上。其中一部分分为第二列。 :( 有没有办法避免这种情况。
div.Nav {
height: 100% !important;
}
div.Nav a.icon {
position: absolute;
right: 0;
top: 0;
}
div.Nav a {
transition: 0.5s;
line-height: 25px;
text-align: center;
font-weight: lighter;
color: black;
padding: 8px 16px;
text-decoration: none;
font-size: 20px;
float: none !important;
display: block;
text-align: left;
}
div.Nav a.active {
background-color: #4CAF50;
color: white;
cursor: default;
}
div.Nav a:hover:not(.active) {
background-color: rgb(56, 62, 50);
color: #fffd78;
transition: 0.5s;
}
div.Nav div.newspaper {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-rule: 2px grey solid;
-moz-column-rule: 2px grey solid;
column-rule: 2px grey solid;
-webkit-column-gap: 0;
-moz-column-gap: 0;
column-gap: 0;
}

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div id="Nav" class="Nav">
<a href="javascript:void(0)" class="active"><i class="fa fa-home fa-lg" aria-hidden="true"></i></a>
<div class="newspaper">
<a href="javascript:void(0)" class="show">Link1</a>
<a href="javascript:void(0)" target="_self">Link2</a>
<a href="javascript:void(0)" target="_self">Link3</a>
<a href="javascript:void(0)" target="_self">Link4</a>
<a href="javascript:void(0)" target="_self">Link5</a>
<a href="javascript:void(0)" target="_self">Link6</a>
<a href="javascript:void(0)" target="_self">Link7</a>
<a href="javascript:void(0)" target="_self">Link8</a>
<a href="javascript:void(0)" target="_self">Link9</a>
<a href="javascript:void(0)" target="_self">Link10</a>
</div>
</div>
</body>
</html>
&#13;
答案 0 :(得分:1)
使用break-inside: avoid;
(或相应的等同物)来防止标记流入下一列:
div.Nav {
height: 100% !important;
}
div.Nav a.icon {
position: absolute;
right: 0;
top: 0;
}
div.Nav a {
transition: 0.5s;
line-height: 25px;
text-align: center;
font-weight: lighter;
color: black;
padding: 8px 16px;
text-decoration: none;
font-size: 20px;
float: none !important;
display: block;
text-align: left;
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
page-break-inside: avoid; /* Firefox */
break-inside: avoid; /* IE 10+ */
}
div.Nav a.active {
background-color: #4CAF50;
color: white;
cursor: default;
}
div.Nav a:hover:not(.active) {
background-color: rgb(56, 62, 50);
color: #fffd78;
transition: 0.5s;
}
div.Nav div.newspaper {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-rule: 2px grey solid;
-moz-column-rule: 2px grey solid;
column-rule: 2px grey solid;
-webkit-column-gap: 0;
-moz-column-gap: 0;
column-gap: 0;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div id="Nav" class="Nav">
<a href="javascript:void(0)" class="active"><i class="fa fa-home fa-lg" aria-hidden="true"></i></a>
<div class="newspaper">
<a href="javascript:void(0)" class="show">Link1</a>
<a href="javascript:void(0)" target="_self">Link2</a>
<a href="javascript:void(0)" target="_self">Link3</a>
<a href="javascript:void(0)" target="_self">Link4</a>
<a href="javascript:void(0)" target="_self">Link5</a>
<a href="javascript:void(0)" target="_self">Link6</a>
<a href="javascript:void(0)" target="_self">Link7</a>
<a href="javascript:void(0)" target="_self">Link8</a>
<a href="javascript:void(0)" target="_self">Link9</a>
<a href="javascript:void(0)" target="_self">Link10</a>
</div>
</div>
</body>
</html>