Мне нужно, чтобы некоторые div располагались по центру и одновременно соответствовали ширине их содержимого .
Я сейчас делаю это так:
.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;
}
}
Теперь последняя команда «width: -moz-fit-content;» это именно то , что мне нужно!
Единственная проблема ... он работает только в Firefox.
Я также пробовал с "display: inline-block;" , но мне нужно, чтобы эти div работали как div. А именно, каждый следующий div должен быть ниже предыдущего , а не встроен в него.
Вы знаете какое-нибудь возможное кроссбраузерное решение?
firefox
css
cross-browser
Дарме
источник
источник
fit-content
сейчас.fit-content
. Во всех браузерах, кроме Firefox, он работает без префикса, Firefox по-прежнему нужен-moz-fit-content
. См developer.mozilla.org/en-US/docs/Web/CSS/...Ответы:
Наконец я исправил это, просто используя:
display: table;
источник
display: table
иmargin: auto
к центру оform
. Большой! : Dmax-width: 100%
.fit-content
. Во всех браузерах, кроме Firefox, он работает без префикса, Firefox по-прежнему нужен-moz-fit-content
. См developer.mozilla.org/en-US/docs/Web/CSS/...MDN Mozilla предлагает примерно следующее [ источник ]:
p { width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */ }
источник
-moz-max-content
эквивалентен только-moz-fit-content
тогда, когда родительский элемент шире.-moz-fit-content
поместит содержимое и обернет текст, но-moz-max-content
будет выходить за пределы родительского элемента. То же самое относится к Chrome-webkit-max-content
иfit-content
.width: max-content;
.В аналогичном случае я использовал:
white-space: nowrap;
источник
Есть ли единая декларация, которая исправляет это для Webkit, Gecko и Blink? Нет. Однако существует кроссбраузерное решение, позволяющее указать несколько значений свойств ширины, которые соответствуют соглашению каждого механизма компоновки.
.mydiv { ... width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */ ... }
Адаптировано из: MDN
источник
Я использую эти:
.right {display:table; margin:-18px 0 0 auto;} .center {display:table; margin:-18px auto 0 auto;}
источник
width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */
источник
Почему бы не использовать некоторые
br
s?<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; }
Пример: http://jsfiddle.net/YZV25/
источник
display: table;
вместоdisplay: inline-block;
.