2010-09-29 42 views
11

Tôi có một vài div s làm cho một chút quá rộng giữa chân và phần thân. Vì vậy, tôi muốn chuyển đổi một div thành một khoảng. Nhưng khi tôi làm điều đó, nó làm hỏng nội dung của chân trang một chút.Chuyển đổi div thành span với CSS

Làm cách nào tôi có thể thực hiện việc này và giữ các kiểu đã được xác định cho chân trang?

Cảm ơn trước!

Sửa

div.footer { 
width: 986px; 
margin: 0 auto; 
padding-bottom:18px; 
border: 0; 
text-align: left; 
color:#000000; 
} 
+0

Bạn có thể đăng một số HTML và CSS để chúng tôi có thể giúp bạn nhiều hơn không? Hoặc một ví dụ trực tiếp sẽ là tuyệt vời. – Kyle

+2

Eh ... bạn chắc chắn chuyển đổi phần tử 'div' thành phần tử' span' sẽ giải quyết được vấn đề của bạn? Nó không phải là một trong những phương pháp thông thường để ủi ra quirks định vị CSS –

+0

Vâng, bởi vì có 2 divs bên cạnh eachother tạo ra một khoảng cách hugh giữa cơ thể và chân trang. Với khoảng cách này khoảng cách có thể được giảm. @Kyle Sevenoaks, đó là loại lớn và không có ví dụ trực tiếp. – Yustme

Trả lời

17

Như bạn đã biết, sự khác biệt giữa một số <div> và một số <span> chỉ là một giá trị mặc định là display:block; và số còn lại là display:inline;. Để thực hiện một hành động như một hành động khác, chỉ cần đặt kiểu hiển thị thành kiểu khác.

Tuy nhiên, bạn đã nói bạn đã thử cách này và nó không đạt được hiệu quả bạn đang tìm kiếm. Có một thuộc tính hiển thị khác, ít được biết đến hơn, nhưng cung cấp một ngôi nhà nửa đường giữa hai:

display:inline-block; 

Những gì nó hiển thị nội tuyến, nhưng vẫn có thuộc tính giống như khối. (Về cơ bản đây là cách một thẻ <img> hoạt động theo mặc định).

Đây có phải là câu trả lời bạn đang tìm kiếm không?

+0

Cảm ơn điều này đã làm cho tôi! – Yustme

0

Hãy thử thêm overflow:auto; để gian của bạn. Ngoài ra thêm display:block;

+0

Đây là sự đảo ngược của những gì op hỏi. – Kyle

+0

Không, không phải phần tử SPAN hầu hết thời gian cần một số thuộc tính phụ để bắt đầu hoạt động như một đối tượng khối và không bị 'ngã' trên DIV bên dưới. – Ben

+5

"Vì vậy, tôi muốn chuyển đổi một div thành một khoảng." Bạn đã đăng cách chuyển đổi một khoảng thời gian thành một div :) – Kyle

3

Để chuyển đổi một div để một khoảng, chỉ cần thêm:

.myDiv 
{ 
    display: inline; 
} 

Nhưng tôi thực sự không chắc chắn rằng đây là giải pháp bạn đang sau.

+0

Tôi đã thử điều đó, nhưng nó không hoạt động. nó không lấy tất cả những phong cách khác với nó. nó chỉ sắp xếp của bên trái. – Yustme

+0

Bởi vì nó bây giờ là một yếu tố nội tuyến, như chúng tôi đã nói, điều này chuyển đổi một div thành một khoảng không phải là giải pháp chính xác :) – Kyle

-1

thế nào nếu thêm này:

position:relative /*optional*/ 
float:left; 
left:0px; 

tôi luôn luôn làm điều này trước khi tôi biết để sử dụng khoảng thời gian khi tôi lần đầu tiên học css tôi luôn luôn làm cho nội dung tố của tôi.

0

Nếu có quá nhiều khoảng trống giữa chân trang và phần thân, bạn có nhìn vào lề và phần đệm trên các div bị ảnh hưởng không? Có điều gì đó có chiều cao hoặc chiều cao tối thiểu làm cho một số nội dung trong nội dung cao hơn đầu tự nhiên của nội dung không? Firebug là một công cụ tuyệt vời cho việc này.

Div là phần tử khối. Các phần tử khối khác là các đoạn văn, tiêu đề, danh sách, vv Span là một phần tử nội tuyến. Các yếu tố nội tuyến khác là mạnh mẽ, hình ảnh, neo, v.v. Bạn vẫn cần nội dung được chứa trong phần tử cấp khối.

1

Trích:

có 2 divs tiếp theo eachother mà tạo ra một khoảng cách hugh giữa cơ thể và footerbody và footer

Giải pháp:

  • Xóa (các) div trống HTML
  • Di div rỗng (s) bằng cách thêm display:none
  • Giảm height của div (s)
  • Giảm margin hoặc padding của div (s)
  • Đặt position:relative; top:-[yourownnumber]px để .footer
+0

Cảm ơn điều này đã làm nó cho tôi quá! – Yustme

+0

Bạn được chào đón. –

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