Làm cách nào tôi có thể bọc hoặc ngắt văn bản / từ dài trong một khoảng chiều rộng cố định?


104

Tôi muốn tạo một khoảng với chiều rộng cố định mà khi tôi nhập bất kỳ thứ gì trong khoảng như <span>lgasdfjksdajgdsglkgsadfasdfadfasdfadsfasdfasddkgjk</span>, một chuỗi dài văn bản không có khoảng cách, (các) từ ngắt hoặc quấn sang dòng tiếp theo.

Bất kỳ ý tưởng?

Câu trả lời:


192

Bạn có thể sử dụng thuộc tính CSS word-wrap:break-word;, thuộc tính này sẽ ngắt các từ nếu chúng quá dài so với chiều rộng nhịp của bạn.

span { 
    display:block;
    width:150px;
    word-wrap:break-word;
}
<span>VeryLongLongLongLongLongLongLongLongLongLongLongLongExample</span>


1
Hoạt động tốt cho việc kiểm soát nhãn asp.net. Cảm ơn!
etlds

41
Thêm white-space: normalgiúp để ghi đè lên phong cách bên ngoài mà có thể nhận được trong cách :) .. inline-blocklàm việc cũng nhưblock
Katia

Điều gì về việc phá vỡ hai nhịp nằm bên trong một phần tử khối?
Daniel Springer

Đối với những người vẫn còn gặp khó khăn sau khi sử dụng câu trả lời này, hãy chắc chắn để xác định một 'width' nếu không nó có thể không làm việc
Staccato

Nó cần phải có chiều rộng để biết vị trí bị đứt
DFSFOT

40

Hãy thử làm theo css với việc bổ sung white-space:

span {
    display: block;
    word-wrap:break-word;
    width: 50px;
    white-space: normal
}

5
Cảm ơn! Tôi không thể hiểu tại sao văn bản của tôi không bao giờ được gói! khoảng trắng là lý do.
mdiehl13

1
Sự cố của tôi cũng đã được khắc phục khi tôi đặt:white-space: normal
majorBummer

Đây là bảng tham chiếu trong trường hợp bạn cần khoảng trắng và gói: css-tricks.com/almanac/properties/w/whitespace
Hritik

16

Như thế này

BẢN GIỚI THIỆU

  li span{
    display:block;
    width:50px;
    word-break:break-all;
}

người bạn mà tôi muốn khi đặt span width: 50px; các giá trị trong khoảng của tôi chỉ hiển thị ở 50px và các giá trị khác chuyển sang dòng tiếp theo và hiển thị ở 50px !!!
محمد کثیری

1
@ mamal10 Kiểm tra giải pháp của Maxime Lorant.
Mr_Green

3

Theo mặc định, a spanlà một inlinephần tử ... vì vậy đó không phải là hành vi mặc định.

Bạn có thể thực hiện spanhoạt động theo cách đó bằng cách thêm display: block;vào CSS của mình.

span {
    display: block;
    width: 100px;
}


0

Chỉ để mở rộng phạm vi thực tế của câu hỏi và như một phụ lục cho các câu trả lời đã cho: Đôi khi người ta có thể thấy cần phải chỉ định các bộ chọn nhiều hơn một chút.

Bằng cách xác định khoảng thời gian đầy đủ là hiển thị: khối nội tuyến, bạn có thể gặp khó khăn khi hiển thị hình ảnh.

Do đó, tôi muốn xác định một khoảng như vậy:

span {
  display:block;
  width:150px;
  word-wrap:break-word;      
}
p span, a span,
h1 span, h2 span, h3 span, h4 span, h5 span {
  display:inline-block;
}
img{
  display:block;
}

0

Trong trường hợp của tôi, khối display: đã phá vỡ thiết kế như dự kiến.

Tài max-widthsản vừa cứu tôi.

và để tạo kiểu, bạn cũng có thể sử dụng text-overflow: ellipsis.

mã của tôi là

max-width: 255px
overflow:hidden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.