2009-06-30 75 views
12

Dưới đây là một số mã mẫu, trong đó có tất cả các liên kết được chứng minh đúng. Tôi muốn thay đổi CSS để liên kết "Trái" được căn lề trái, các liên kết khác được hợp lý hóa, nhưng chúng đều nằm trên cùng một dòng. Làm thế nào để làm điều đó?CSS - Căn trái và phải trên cùng một dòng

Cảm ơn trước,

John

HTML:

<div class="mainlinks"> 
    <a href="left.php" class="links">Left</a> 
    <a href="right1.php" class="links">Right1</a> 
    <a href="right2.php" class="links">Right2</a> 
</div> 

CSS:

.mainlinks 
    { 
    text-align:right; 
    margin-top:3px; 
    margin-right:10px; 
    margin-bottom:0px; 
    padding:0px; 
    } 

a.links:link { 
    color: #FF0000; text-decoration: none; 
    text-align:center; 
    margin-left:8px; 
    margin-top:300px; 
    margin-bottom:0px; 
    padding:2px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size: 14px; 
    } 

Trả lời

10

phao bên trái sang trái

.left {float:left;} 

    <div class="mainlinks"> 
     <a href="left.php" class="links left">Left</a> 
     <a href="right1.php" class="links">Right1</a> 
     <a href="right2.php" class="links">Right2</a> 
    </div> 

Nhưng bạn cần phải loại bỏ các margin-top: 300px từ a.links:link khác bên trái sẽ ở bên phải 300px.

+0

Cảm ơn, Emily. Giải pháp đơn giản của bạn hoạt động hoàn hảo. Ngoài ra, cảm ơn vì đã giúp tôi hôm qua bằng cách đề xuất Firebug cho câu hỏi khác mà tôi đã hỏi. –

0

bạn cần phải đặt nó vào khối tách (div) hoặc ghi đè thông qua CSS cụ thể hơn áp dụng cho liên kết như được đề xuất bởi @skurpur

tôi tin rằng bạn phải thêm hiển thị: chặn vào liên kết để định vị nó - ví dụ: chỉ các phần tử khối có thể được định vị.

+0

Tôi đã thử điều đó và liên kết bên trái là một dòng phía trên liên kết bên phải. Tôi muốn chúng trên cùng một dòng. –

+0

tốt, bạn cần phải học CSS nhiều hơn để hiểu mô hình hộp. bạn cần phao một phần tử ở bên trái và một phần tử khác sang bên phải (hoặc cả hai tới chiều rộng thiết lập bên trái đến 50% - giả sử không có phần đệm/lề và đường viền nào khác được thiết lập). – dusoft

3

Đặt mỗi div riêng biệt. Float một trái, một bên phải. Đặt độ rộng.

<div class="mainlinks"> 
    <div class="left">  
     <a href="left.php" class="links">Left</a> 
    </div> 
    <div class="right"> 
     <a href="right1.php" class="links">Right1</a> 
     <a href="right2.php" class="links">Right2</a> 
    </div> 
</div> 

CSS

.mainlinks .left { 
    float:left; 
    width: 49%; 
} 

.mainlinks .right { 
    float:right; 
    width: 49%; 
} 
+0

Điều này giả định rằng không có lề/biên giới trên các div. Tỷ lệ phần trăm sẽ tốt hơn như px cho độ dài của các div. –

+0

Tôi có một "

" ngay bên dưới các liên kết của tôi, nhưng với thiết lập của bạn ở trên, các liên kết của tôi hiện ở dưới dòng.Hơn nữa, liên kết tôi muốn ở phía bên trái của màn hình bây giờ là ở trung tâm. Các liên kết bên phải được thực hiện như bình thường. –

+0

Bạn sẽ cần xóa các phao. Gắn một div với một phong cách rõ ràng: cả hai đều làm giảm liên kết div chính. –

1
<style> 
.mainlinks 
    { 
    text-align:right; 
    margin-top:3px; 
    margin-right:10px; 
    margin-bottom:0px; 
    padding:0px; 
    } 

a.links:link { 
    color: #FF0000; text-decoration: none; 
    text-align:center; 
    margin-left:8px; 
    margin-top:300px; 
    margin-bottom:0px; 
    padding:2px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size: 14px; 
    } 

.right { float: right } 
.left { float: left } 

</style> 
<div class="mainlinks"> 
    <a href="left.php" class="links left">Left</a> 
    <a href="right1.php" class="links right">Right1</a> 
    <a href="right2.php" class="links right">Right2</a> 
</div> 
+0

Tôi đã thử thiết lập này và nó đã thay đổi đáng kể diện mạo của trang của tôi. Có lẽ tôi sẽ tiếp tục kêu leng keng. –

15

Đó là một bài đăng cũ, nhưng nó cũng được xếp hạng trên google vì vậy nó vẫn có liên quan.

Tôi đã sử dụng một cách khác để căn chỉnh cả phải và trái trên cùng một dòng, mà không sử dụng bất kỳ dấu phẩy xấu xí nào. Nó làm cho sử dụng một bảng hiển thị như:

HTML:


    <footer> 
     <nav>links (to the left)</nav> 
     <p>copyright (to the right)</p> 
    </footer> 

CSS:


    footer 
    { 
     display: table; 
     width: 100%; 
    } 
    footer nav 
    { 
     display: table-cell; 
     text-align: left; 
    } 
    footer p 
    { 
     display: table-cell; 
     text-align: right; 
    } 

tôi thấy nó sạch hơn nhiều theo cách này.

Hy vọng điều này sẽ giúp ai đó!

+1

Wow đây là một giải pháp tuyệt vời! Những gì tôi thích về điều này là nó rất sạch sẽ và tôi không phải sử dụng 'float' (yêu cầu rõ ràng: cả sau nó). –

+2

Tuyệt vời! Đây sẽ là câu trả lời được chấp nhận mới. – MCattle

Các vấn đề liên quan