สมมติว่าฉันมีสตริง " ฉันชอบก้นใหญ่และฉันนอนไม่หลับ " และฉันก็ตัดมันด้วยoverflow:hidden
ดังนั้นมันจึงแสดงเป็นดังนี้:
ฉันชอบก้นใหญ่และฉันไม่สามารถ
ตัดข้อความ เป็นไปได้ไหมที่แสดงสิ่งนี้:
ฉันชอบก้นใหญ่และฉันไม่สามารถ ...
ใช้ CSS หรือไม่
สมมติว่าฉันมีสตริง " ฉันชอบก้นใหญ่และฉันนอนไม่หลับ " และฉันก็ตัดมันด้วยoverflow:hidden
ดังนั้นมันจึงแสดงเป็นดังนี้:
ฉันชอบก้นใหญ่และฉันไม่สามารถ
ตัดข้อความ เป็นไปได้ไหมที่แสดงสิ่งนี้:
ฉันชอบก้นใหญ่และฉันไม่สามารถ ...
ใช้ CSS หรือไม่
คำตอบ:
คุณสามารถใช้text-overflow: ellipsis; ซึ่งเป็นไปตาม caniuseได้รับการสนับสนุนโดยเบราว์เซอร์ที่สำคัญทั้งหมด
นี่คือตัวอย่างของ jsbin
.cut-text {
text-overflow: ellipsis;
overflow: hidden;
width: 160px;
height: 1.2em;
white-space: nowrap;
}
<div class="cut-text">
I like big buts and I can not lie.
</div>
overflow: hidden;
และtext-overflow: ellipsis;
ใน<p>
องค์ประกอบ (เช่นองค์ประกอบบล็อก) และไม่พบสิ่งใด...
ในตอนท้าย (แน่นอนว่าฉันแน่ใจว่ามันล้นจริงๆ) ฉันยังพยายามนี้ได้โดยไม่ต้องoverflow: hidden;
มีส่วนร่วมและยังมี<span>
องค์ประกอบภายใน<p>
องค์ประกอบที่<p>
องค์ประกอบที่มีoverflow: hidden;
และ<span>
มีtext-overflow: ellipsis;
ไม่ว่าวิธีการที่ฉันพยายามนี้เป็นความล้มเหลว ..
max-height
ดังนั้นฉันจึงไม่สามารถwhite-space:
ตั้งค่าเป็นnowrap
ตรวจสอบตัวอย่างข้อมูลต่อไปนี้สำหรับปัญหาของคุณ
div{
width : 100px;
overflow:hidden;
display:inline-block;
text-overflow: ellipsis;
white-space: nowrap;
}
<div>
The Alsos Mission was an Allied unit formed to investigate Axis scientific developments, especially nuclear, chemical and biological weapons, as part of the Manhattan Project during World War II. Colonel Boris Pash, a former Manhattan P
</div>
display: inline-block;
เป็นองค์ประกอบที่ขาดหายไปสำหรับฉัน ขอบคุณ.
ลองใช้ถ้าคุณต้องการ จำกัด บรรทัดไม่เกิน 3 และหลังจากสามบรรทัดจุดจะปรากฏขึ้น หากเราต้องการเพิ่มบรรทัดเพียงแค่เปลี่ยนค่า -webkit-line-clamp และให้ความกว้างสำหรับขนาด div
div {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
หวังว่าจะเป็นประโยชน์สำหรับคุณ:
.text-with-dots {
display: block;
max-width: 98%;
white-space: nowrap;
overflow: hidden !important;
text-overflow: ellipsis;
}
<div class='text-with-dots'>Some texts here Some texts here Some texts here Some texts here Some texts here Some texts here </div>
ใช่ผ่านtext-overflow
คุณสมบัติใน CSS 3 Caveat: ยังไม่รองรับในเบราว์เซอร์
ในbootstrap 4คุณสามารถเพิ่ม.text-truncate
คลาสเพื่อตัดทอนข้อความด้วยจุดไข่ปลา
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<!-- Inline level -->
<span class="d-inline-block text-truncate" style="max-width: 190px;">
I like big butts and I cannot lie
</span>
<style>
.dots
{
display: inline-block;
width: 325px;
white-space: nowrap;
overflow: hidden !important;
text-overflow: ellipsis;
}
.dot
{
display: inline-block;
width: 185px;
white-space: nowrap;
overflow: hidden !important;
text-overflow: ellipsis;
}
</style>
โซลูชันส่วนใหญ่ใช้ความกว้างคงที่ที่นี่ แต่บางครั้งมันอาจผิดด้วยเหตุผลบางอย่าง
ตัวอย่าง: ฉันมีตารางที่มีหลายคอลัมน์ ส่วนใหญ่แคบ (ความกว้างคงที่) แต่คอลัมน์หลักควรกว้างที่สุดเท่าที่จะเป็นไปได้ (ขึ้นอยู่กับขนาดหน้าจอ)
HTML:
<table style="width: 100%">
<tr>
<td style="width: 60px;">narrow</td>
<td>
<span class="cutwrap" data-cutwrap="dynamic column can have really long text which can be wrapped on two rows, but we just need not wrapped texts using as much space as possible">
dynamic column can have really long text which can be wrapped on two rows
but we just need not wrapped texts using as much space as possible
</span>
</td>
</tr>
</table>
CSS:
.cutwrap {
position: relative;
overflow: hidden;
display: block;
width: 100%;
height: 18px;
white-space: normal;
color: transparent !important;
}
.cutwrap::selection {
color: transparent !important;
}
.cutwrap:before {
content: attr(data-cutwrap);
position: absolute;
left: 0;
right: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #333;
}
/* different styles for links */
a.cutwrap:before {
text-decoration: underline;
color: #05c;
}
<!DOCTYPE html>
<html>
<head>
<style>
.cardDetaileclips{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3; /* after 3 line show ... */
-webkit-box-orient: vertical;
}
</style>
</head>
<body>
<div style="width:100px;">
<div class="cardDetaileclips">
My Name is Manoj and pleasure to help you.
</div>
</div>
</body>
</html>
ซ่อนข้อความในการโหลดและแสดงบนโฮเวอร์
<span class="hide-text"> How to hide text by dots and show text on hover</span>
.hide-text {
width: 70px;
display: inline-block;
white-space: nowrap;
overflow: hidden !important;
text-overflow: ellipsis;
}
span:hover {
white-space: unset;
text-overflow: unset;
}