Làm cách nào để ngăn thẻ DIV bắt đầu một dòng mới?


89

Tôi muốn xuất một dòng văn bản cho trình duyệt có chứa thẻ. Khi điều này được hiển thị, có vẻ như DIV gây ra một dòng mới. Làm cách nào để đưa nội dung vào thẻ div trên cùng một dòng - đây là mã của tôi.

<?php 
  echo("<a href=\"pagea.php?id=$id\">Page A</a>") 
?>
<div id="contentInfo_new">
  <script type="text/javascript" src="getData.php?id=<?php echo($id); ?>"></script>
</div>

Tôi đã cố gắng dọn dẹp nó ở đây. Làm cách nào tôi có thể hiển thị màn hình này trên một dòng?


Chỉ cần lưu ý, bạn không cần dấu ngoặc khi sử dụng echo. echo $id;có giá trị như echo($id);.
Eddie Hart

Câu trả lời:


142

Các divthẻ là một yếu tố ngăn chặn, gây hành vi đó.

spanThay vào đó, bạn nên sử dụng một phần tử nằm trong dòng.

Nếu bạn thực sự muốn sử dụng div, hãy thêm style="display: inline". (Bạn cũng có thể đặt điều đó trong quy tắc CSS)


13
Chỉ display: inlinemâu thuẫn với những gì BHTGVN thực hiện, vì vậy xin đừng làm điều đó! Sử dụng nhịp thay thế.
Robert K

28
Tôi biết rõ điều đó; đó là lý do tại sao tôi viết if you really want to.
SLaks

22
Một div được định nghĩa là sự phân chia của một trang, trước HTML5. Nó không được xác định với bất kỳ đặc điểm trình bày nào. Nói cách khác, div phù hợp về mặt ngữ nghĩa theo định nghĩa của nó dựa trên nội dung và các yếu tố mà nó chứa. Do đó, hoàn toàn ổn khi đặt div để hiển thị: nội dòng và không vi phạm bất kỳ ngữ nghĩa hoặc định nghĩa tiêu chuẩn nào.

2
Trong trường hợp của tôi, tôi không thể sử dụng span, vì tôi muốn xác định thuộc tính ngắt từ bao gồm các từ và các thuộc tính này chỉ hoạt động cho các phần tử kiểu khối. Nhưng tôi không thể sử dụng div, vì tôi không muốn có một dòng mới. Vì vậy, thay vào đó tôi đã sử dụng display: inline-blockvà một phần tử div. Nói những gì bạn muốn về phong cách, nhưng điều này đã giải quyết được cả hai vấn đề.
jsarma

Nó đã không làm việc cho tôi! Tôi mong đợi nó mở rộng các tế bào mà div là trong, nhưng không có sự thay đổi xảy ra
rezKesh

36

Tôi không phải là một chuyên gia nhưng hãy thử white-space:nowrap;

Thuộc tính khoảng trắng được hỗ trợ trong tất cả các trình duyệt chính.

Lưu ý: Giá trị "inherit"không được hỗ trợ trong IE7 trở về trước. IE8 yêu cầu a !DOCTYPE. IE9 hỗ trợ "inherit".


Yếu tố tuyệt vời khi bạn cần inline-block không quấn vào cuối dòng khi bạn có overflow: hiddentrên các yếu tố bọc và bạn di chuyển nó theo cha mẹ "trên nền" :)
jave.web

16

div là một phần tử khối, luôn chiếm dòng riêng của nó.

sử dụng spanthẻ thay thế


10
Bạn đang trình bày khó hiểu cho chức năng. Một div chiếm dòng riêng của nó vì nó được trình bày dưới dạng display: block theo mặc định và không vì lý do gì khác.

1
Nhưng span cũng tạo ra ngắt dòng trước và sau?
user3761308

6

Thêm style="display: inline"vào div của bạn.


5

sử dụng float: left trên div và liên kết hoặc sử dụng span.



0

Một cách tốt hơn để thực hiện ngắt dòng là sử dụng span với tham số kiểu CSS white-space: nowrap;

span.nobreak {
  white-space: nowrap;
}

or
span.nobreak {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

Ví dụ trực tiếp trong HTML của bạn

<span style='overflow:hidden; white-space: nowrap;'> YOUR EXTENSIVE TEXT THAT YOU CAN´T BREAK LINE ....</span>

-1
<div style="float: left;">
<?php 
  echo("<a href=\"pagea.php?id=$id\">Page A</a>") 
?>
</div>
<div id="contentInfo_new" style="float: left;">
  <script type="text/javascript" src="getData.php?id=<?php echo($id); ?>"></script>
</div>

3
ý tưởng khủng khiếp khi sử dụng javascript + php, khi bạn có thể ổn chỉ với css.
ZurabWeb

@Piero Tại sao bạn lại nói như vậy? Một phần mềm phụ trợ thường cần thiết cho một ứng dụng giao diện người dùng
Tò mò

3
@Curious true, nhưng phần phụ trợ phải xử lý những thứ phụ trợ như tính toán và xử lý dữ liệu, trong khi giao diện người dùng nên được để cho các trình duyệt xử lý. Điều này làm giảm tải máy chủ và cải thiện trải nghiệm người dùng. Đây là điều khoản chung. Tuy nhiên, trong trường hợp cụ thể này, <a href="pagea.php?id=<?php echo $id; ?> "> Trang A </a> sẽ đủ tốt. Và với getData.php, tại sao phải phân tích cú pháp php và xuất ra javascript nếu điều này có thể được xử lý bởi apache? Giống như vậy: src = "getData.js? Id = <? Php echo $ id;?>"
ZurabWeb

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.