2010-03-12 31 views
8

Tôi muốn căn chỉnh một phần tử nội tuyến ở bên phải của div. Tôi đã thấy float = "right" được áp dụng trên một span để căn chỉnh nó nhưng nó có vẻ không chính xác về mặt ngữ nghĩa đối với tôi vì phao được cho là di chuyển "các ô" hoặc chặn các phần tử bên phải hoặc bên trái của phần tử thùng chứa.Làm nổi phần tử nội tuyến ở bên phải của div

Sự hiểu biết của tôi về Float sai hoặc có cách nào khác để căn chỉnh đúng các yếu tố nội tuyến trong vùng chứa DIV hay không.

+0

Một vấn đề khác mà tôi đã sử dụng Float on a Span là chúng ta sử dụng float: ngay trên một span mà không chỉ định chiều rộng mà một lần nữa đi ngược lại các yêu cầu của Float. Về cơ bản, tôi muốn sử dụng thuộc tính kéo dài của một phần tử nội tuyến vì nó lấy chiều rộng của nội dung trong trường hợp của tôi là động. Việc chuyển đổi nó thành một DIV sẽ mất đi lợi thế đó. – Rajat

Trả lời

5

Làm nổi phần tử tự động biến thành một hộp. (Xem: http://css.maxdesign.com.au/floatutorial/introduction.htm) Tuy nhiên, không có gì sai về ngữ nghĩa về nó. Ngữ nghĩa không dictate những gì sẽ được hiển thị như là một khối và những gì nên được hiển thị nội tuyến - đó là một trong những lý do chúng tôi có thể tuyên bố rằng tùy ý. (Chắc chắn nó sẽ trở thành lộn xộn khi bạn bắt đầu dùng từ ngữ theo thứ tự của chúng - nhưng tôi nghi ngờ đó là những gì bạn đang nói ở đây, vì tôi không thể tưởng tượng được trường hợp bạn muốn làm điều đó Hơn nữa, nếu bạn cần căn chỉnh một chút văn bản nội dòng độc lập với dòng văn bản thông thường (đó là những gì một float), bạn thực sự muốn hiển thị nó như là một khối anyway. Nếu nó thực sự là một phần tử nội tuyến, tất cả những gì bạn cần là text-align:right - mọi thứ bạn cần một phao hoặc một vị trí được khai báo trên bạn đã được coi là một phần tử khối, vì vậy không có gì sai khi khai báo nó như vậy.

+0

nhưng sử dụng Float không có chiều rộng là không nên và trong này tôi muốn chiều rộng của tôi là = nội dung và do đó các yếu tố nội tuyến? Vì vậy, nếu phần tử của tôi là một phần tử khối với Float, sẽ không có chiều rộng quy định bị tổn thương? – Rajat

+1

@Rajat Không có chiều rộng được chỉ định có nghĩa là theo mặc định, phao của bạn sẽ co lại thành kích thước của từ dài nhất. Bạn có thể sử dụng không gian trắng: nowrap để ghi đè hành vi đó - sau đó nó sẽ rộng như nội dung của bạn. (Vì vậy, hãy chắc chắn để đặt trong một BR nếu bạn cần nó để bọc.) –

6

float: right hoàn toàn không được áp dụng cho tất cả các thành phần, cấp khối hoặc nội tuyến không quan trọng, ngữ nghĩa hoặc theo thông số kỹ thuật (cho đến khi tôi biết).

Nếu bạn muốn sang phải-align một cái gì đó mà không sử dụng float sau đó có khả năng margin-right: 90%; (giả sử bạn biết rằng những gì nó canh phải từ/chống lại phù hợp vào 10% còn lại.

Hoặc direction: rtl; nhưng điều đó không bao giờ hoạt động như tôi nghĩ, cộng với điều đó có thể làm phức tạp mọi thứ.

position: absolute; right: 0; sẽ làm như bạn cần (nhưng nó sẽ bị xóa khỏi luồng của tài liệu và nó sẽ được định vị trước phần tử cha đầu tiên của nó có số position: relative; được xác định (hoặc ít nhất được xác định position)

Bạn có thể, có thể sử dụng text-align: right, nhưng điều đó có vẻ như một giải pháp đơn giản như vậy mà tôi chắc chắn rằng bạn đã thử nó.

Nếu bạn có thể cung cấp trường hợp sử dụng, một số mã và chỉ báo kết quả cuối cùng dự kiến ​​của bạn, chúng tôi có thể giúp bạn nhiều hơn.

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