"width : -moz-fit-content;"에 대한 CSS 크로스 브라우저 값이 있습니까?


85

중앙에 배치 하고 동시에 콘텐츠 너비 에 맞추려면 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는 이전 div가 아닌 inline 아래에 있어야합니다 .

가능한 크로스 브라우저 솔루션을 알고 있습니까?


1
다음 답변 중 하나를 시도해보십시오. stackoverflow.com/questions/5803030/…
Matt H

3
Chome은 fit-content이제 지원합니다 .
LinuxDisciple

답변:


167

마침내 다음을 사용하여 수정했습니다.

display: table;

4
나는 당신의 질문과 똑같은 용어를 정확히 찾고 있습니다. 내가 그랬어 display: tablemargin: auto의 중심을 form. 큰! : D
Leniel Maccaferri

이와 함께 공백을 사용해야했습니다 : pre! important;
Bimal Das

2
예를 들어 일부 속성을 존중하지 않습니다 max-width: 100%.
Daniel

71

Mozilla의 MDN은 다음과 같은 [ source ]를 제안합니다 .

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

스타일링 p에서했던 것보다 너비 proerty를 두 번 지정할 수 있습니까? 같은 너비 : 본질적인; / * Safari / WebKit은 비표준 이름 / 너비를 사용합니다 : -moz-max-content; / 파이어 폭스 / 도마뱀 * /
사가르 Bhosale

1
-moz-max-content-moz-fit-content부모 요소가 더 넓은 동안에 만 동일합니다 . -moz-fit-content내용에 맞게 텍스트를 감싸지 만 -moz-max-content상위 요소 외부로 확장됩니다. Chrome -webkit-max-contentfit-content.
LinuxDisciple

추가하는 것을 잊지 마십시오 width: max-content;.
Tobias Tengler 19.07.22

13

비슷한 경우에 다음을 사용했습니다. white-space: nowrap;


1
이것은 드롭 다운의 콘텐츠 오버플로 문제를 해결했습니다. 감사!
Zach Leighton

7

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


2

나는 이것을 사용합니다 :

.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

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;
}

예 : http://jsfiddle.net/YZV25/


2
대단히 감사합니다. 작동하지만 div 사이의 상단 및 하단 여백을 처리하기가 너무 어렵습니다. display: table;대신 단순히 사용하는 더 나은 솔루션을 찾았습니다 display: inline-block;.
DuArme 2011 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.