使用 column-count 时避免将一个元素分成两列
Avoid an element to be split into two columns while using column-count
我正在尝试使用多列制作一组 。
但是它将一个 (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>
使用 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>
我正在尝试使用多列制作一组 。 但是它将一个 (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>
使用 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>