Có giá trị trình duyệt chéo css nào cho “width: -moz-fit-content;” không?


85

Tôi cần một số div được đặt ở vị trí trung tâm và đồng thời vừa với chiều rộng nội dung của chúng .

Bây giờ tôi đang làm nó như thế này:

.mydiv-centerer{

  text-align: center;

  .mydiv {
    background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7);
    border-radius: 10px 10px 10px 10px;
    box-shadow: 0 0 5px #0099FF;
    color: white;
    margin: 10px auto;
    padding: 10px;
    text-align: justify;
    width: -moz-fit-content;
  }
}

Bây giờ, lệnh cuối cùng "width: -moz-fit-content;" chính xác những gì tôi cần!

Vấn đề duy nhất là .. nó chỉ hoạt động trên Firefox.

Tôi cũng đã thử với "display: inline-block;" , nhưng tôi cần những div này để hoạt động như div. Cụ thể là, mọi div tiếp theo phải nằm dưới chứ không phải nội tuyến , div trước.

Bạn có biết bất kỳ giải pháp trình duyệt chéo nào khả thi không?


1
Hãy thử một trong những câu trả lời: stackoverflow.com/questions/5803030/...
Matt H

3
Chome hỗ trợ fit-contentngay bây giờ.
LinuxDisciple 11/1017

Câu trả lời:


167

Cuối cùng, tôi đã sửa nó chỉ bằng cách sử dụng:

display: table;

4
Tôi đến đây để tìm kiếm chính xác các điều khoản tương tự cho câu hỏi của bạn. Tôi đã làm display: tablemargin: autođể trung tâm a form. Tuyệt quá! : D
Leniel Maccaferri

Cùng với đó, tôi phải sử dụng khoảng trắng: pre! Important;
Bimal Das

2
Không tôn trọng một số thuộc tính, ví dụ max-width: 100%.
Daniel

71

MDN của Mozilla đề xuất một cái gì đó như sau [ nguồn ]:

 p {
  width: intrinsic;           /* Safari/WebKit uses a non-standard name */
  width: -moz-max-content;    /* Firefox/Gecko */
  width: -webkit-max-content; /* Chrome */
}

chúng tôi có thể chỉ định proerty chiều rộng hai lần như bạn đã làm để tạo kiểu p không? như width: nội tại; / * Safari / WebKit sử dụng tên / chiều rộng không chuẩn : -moz-max-content; / Firefox / Gecko * /
Sagar Bhosale

1
-moz-max-contentchỉ tương đương với -moz-fit-contentwhile phần tử cha rộng hơn. -moz-fit-contentsẽ phù hợp với nội dung và bao bọc văn bản, nhưng -moz-max-contentsẽ mở rộng ra bên ngoài phần tử mẹ. Tương tự cũng áp dụng cho Chrome -webkit-max-contentfit-content.
LinuxDisciple

Đừng quên bổ sung width: max-content;.
Tobias Tengler

13

Trong trường hợp tương tự, tôi đã sử dụng: white-space: nowrap;


1
Điều này đã khắc phục sự cố của tôi với tràn nội dung của trình đơn thả xuống. Cảm ơn!
Zach Leighton

7

Có một khai báo duy nhất sửa lỗi này cho Webkit, Gecko và Blink không? Không. Tuy nhiên, có một giải pháp trình duyệt chéo bằng cách chỉ định nhiều giá trị thuộc tính chiều rộng tương ứng với quy ước của mỗi công cụ bố cục.

.mydiv {  
  ...
  width: intrinsic;           /* Safari/WebKit uses a non-standard name */
  width: -moz-max-content;    /* Firefox/Gecko */
  width: -webkit-max-content; /* Chrome */
  ...
}

Phỏng theo: MDN


2

Tôi sử dụng:

.right {display:table; margin:-18px 0 0 auto;}
.center {display:table; margin:-18px auto 0 auto;}

2
width: intrinsic;           /* Safari/WebKit uses a non-standard name */
width: -moz-max-content;    /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */

-1

Tại sao không sử dụng một số brs?

<div class="mydiv-centerer">
    <div class="mydiv">Some content</div><br />
    <div class="mydiv">More content than before</div><br />
    <div class="mydiv">Here is a lot of content that
                       I was not anticipating</div>    
</div>

CSS

.mydiv-centerer{
    text-align: center;
}

.mydiv{
    background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7);
    border-radius: 10px 10px 10px 10px;
    box-shadow: 0 0 5px #0099FF;
    color: white;
    margin: 10px auto;
    padding: 10px;
    text-align: justify;
    display:inline-block;
}

Ví dụ: http://jsfiddle.net/YZV25/


2
Cảm ơn bạn rất nhiều, nó hoạt động, nhưng quá khó để xử lý lề trên và dưới giữa các div. Tôi tìm thấy một giải pháp tốt hơn chỉ đơn giản là sử dụng display: table;thay vì display: inline-block;.
DuArme
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.