Làm cách nào để căn chỉnh văn bản ở bên trái và văn bản ở bên phải trên cùng một dòng?


101

Làm thế nào tôi có thể căn chỉnh văn bản để một số văn bản căn chỉnh sang trái và một số văn bản căn chỉnh sang phải trong cùng một dòng?

<p>This text should be left-aligned. This text should be right aligned.</p> 

Tôi có thể căn chỉnh tất cả văn bản sang trái (hoặc sang phải), trực tiếp nội dòng hoặc bằng cách sử dụng biểu định kiểu -

<p style='text-align: left'>This text should be left-aligned. 
    This text should be right aligned.</p>

Làm cách nào để căn chỉnh văn bản tương ứng ở bên trái và bên phải trong khi vẫn giữ nó trên cùng một dòng?

Câu trả lời:



34

HTML:

<span class="right">Right aligned</span><span class="left">Left aligned</span>

css:

.right{
    float:right;
}

.left{
    float:left;
}

Demo:
http://jsfiddle.net/W3Pxv/1


@mawg Mặc dù có thể là như vậy, nhưng tôi thích câu trả lời hàng đầu hơn vì nó không yêu cầu css.
Menasheh

4
Hiện đang "trên đầu" hay "nhiều phiếu bầu nhất"? Cả hai điều đó đều có thể thay đổi, vì vậy bạn sẽ không giúp ích gì cho bất kỳ người trình bày nào trong tương lai :-) Dù sao, trong khi tôi bắt đầu giống như bạn, với tất cả các phong cách trong dòng, tôi sớm nhận ra rằng có những lý do chính đáng để tách nội dung và trình bày. CSS là không đáng sợ & có rất nhiều hướng dẫn miễn phí xung quanh - đi cho nó
Mawg nói Khôi phục Monica

18

Nếu bạn không muốn sử dụng các phần tử nổi và muốn đảm bảo rằng cả hai khối không chồng lên nhau, hãy thử:

<p style="text-align: left; width:49%; display: inline-block;">LEFT</p>
<p style="text-align: right; width:50%;  display: inline-block;">RIGHT</p>

Đây là câu trả lời duy nhất cho phép bạn sử dụng nhiều hơn chỉ hai cột, đó là những gì tôi cần. Nó có thể kiểm soát chi tiết hơn mặc dù OP quan tâm.
Kristen Hammack

9

TẬP TIN HTML:

<div class='left'> Left Aligned </div> 
<div class='right'> Right Aligned </div>

TẬP TIN CSS:

.left
{
  float: left;
}

.right
{
  float: right;
}

và bạn đã hoàn thành ....



7

Mặc dù một số giải pháp ở đây sẽ hoạt động, nhưng không có giải pháp nào chồng chéo tốt và kết thúc chuyển một mục xuống dưới mục kia. Nếu bạn đang cố gắng bố trí dữ liệu sẽ bị ràng buộc động, bạn sẽ không biết cho đến khi chạy, rằng nó có vẻ xấu.

Những gì tôi muốn làm chỉ đơn giản là tạo một bảng hàng đơn và áp dụng float bên phải trên ô thứ hai. Không cần áp dụng căn lề trái ở lần đầu tiên, điều đó xảy ra theo mặc định. Điều này xử lý chồng chéo hoàn hảo bằng cách gói từ.

HTML

<table style="width: 100%;">
  <tr><td>Left aligned stuff</td>
      <td class="alignRight">Right aligned stuff</td></tr>
</table>

CSS

.alignRight {
  float: right;
}

https://jsfiddle.net/esoyke/7wddxks5/


Điều này gần giống với vàng đối với tôi, nhưng bất kỳ ý kiến ​​nào tại sao việc sử dụng các thuộc tính bảng CSS lại khiến hai ô nằm ngoài dòng theo chiều ngang? jsfiddle.net/7wddxks5/7 Tôi dường như không thể vượt qua nó.
addMitt

1
Trên thực tế, đối với tôi, vì tôi muốn văn bản phù hợp được căn chỉnh ở bên phải, điều này dường như hoạt động hoàn hảo nếu tôi chỉ cần chỉ định text-align: right và loại bỏ float.
addMitt

Tôi cũng không thể hiểu tại sao nó lại gây ra sự thay đổi theo chiều dọc. Nhưng tôi đã có thể sửa nó bằng căn chỉnh dọc. Cũng kéo các kiểu thành các lớp để làm sạch HTML một chút. jsfiddle.net/o10ogqkd
Eric Soyke

đây là một giải pháp thanh lịch ở đây. Tôi nghĩ đó phải là câu trả lời được chấp nhận vì nó sử dụng nhiều tính sáng tạo hơn trong việc sử dụng thẻ bảng
Rotimi 12/1217

3

Thêm khoảng trên mỗi hoặc nhóm từ bạn muốn căn trái hoặc phải. sau đó thêm id hoặc lớp trên span chẳng hạn như:

<h3>
<span id = "makeLeft"> Left Text</span>
<span id = "makeRight"> Right Text</span>
</h3>

CSS-

#makeLeft{
float: left;
}

#makeRight{
float: right;
}

2
Theo thông số kỹ thuật html, ví dụ của bạn nên sử dụng một lớp chứ không phải một ID.
Sergio

0

Nếu bạn đang sử dụng Bootstrap, hãy thử điều này:

<div class="row">
    <div class="col" style="text-align:left">left align</div>
    <div class="col" style="text-align:right">right align</div>
</div>

-1

Nếu bạn chỉ muốn thay đổi căn chỉnh của văn bản, chỉ cần tạo một lớp

.left {
text-align: left;
}

và mở rộng lớp đó qua văn bản

<span class='left'>aligned left</span>

3
Đây là một nửa câu trả lời cho câu hỏi về các căn chỉnh khác nhau trên mỗi dòng.
TimZaman
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.