Vì câu hỏi này đang nhận được nhiều lượt xem và đây là câu trả lời được chấp nhận, tôi cảm thấy cần phải thêm tuyên bố từ chối trách nhiệm sau:
Câu trả lời này dành riêng cho câu hỏi của OP (Có chiều rộng được đặt trong các ví dụ). Trong khi nó hoạt động, nó yêu cầu bạn phải có chiều rộng trên mỗi phần tử, hình ảnh và đoạn văn. Trừ khi đó là yêu cầu của bạn, tôi khuyên bạn nên sử dụng giải pháp của Joe Conlin được đăng như một câu trả lời khác cho câu hỏi này.
Phần span
tử là một phần tử nội tuyến, bạn không thể thay đổi chiều rộng của nó trong CSS.
Bạn có thể thêm CSS sau vào span của mình để có thể thay đổi chiều rộng của nó.
display: block;
Một cách khác, thường có ý nghĩa hơn, là sử dụng một <p>
phần tử làm cha mẹ cho của bạn <span>
.
<li id="CN2787">
<img class="fav_star" src="images/fav.png">
<p>
<span>Text, text and more text</span>
</p>
</li>
Vì <p>
là một block
phần tử, bạn có thể đặt chiều rộng của nó bằng cách sử dụng CSS mà không cần phải thay đổi bất cứ điều gì.
Nhưng trong cả hai trường hợp, vì bây giờ bạn có một phần tử khối, bạn sẽ cần phải làm nổi hình ảnh để văn bản của bạn không nằm bên dưới hình ảnh của bạn.
li p{width: 100px; margin-left: 20px}
.fav_star {width: 20px;float:left}
PS Thay vì float:left
vào hình ảnh, bạn cũng có thể đặt float:right
trên li p
nhưng trong trường hợp đó, bạn cũng sẽ cần text-align:left
để tổ chức lại các văn bản một cách chính xác.
PSS Nếu bạn tiếp tục với giải pháp đầu tiên là không thêm <p>
phần tử, CSS của bạn sẽ trông giống như vậy:
li span{width: 100px; margin-left: 20px;display:block}
.fav_star {width: 20px;float:left}