찾다

 >  Q&A  >  본문

SVG 이미지를 사용하여 반응형 그리드 영역을 만들 수 없습니다

<p>svg 이미지가 포함된 반응형 그리드 영역을 만들려고 하면 임의의 그리드 영역 너비, 이미지를 멈추지 않고 특정 지점까지 늘리거나 줄일 수 없는 등의 이상한 동작이 발생합니다. 내가 얻은 가장 가까운 것은: </p> <p> <pre class="brush:css;toolbar:false;">* { 상자 크기 조정: 테두리 상자; } 몸 { 여백: 0; } 머리글 { 디스플레이: 그리드; 그리드 템플릿 열: 자동 1fr; 배경색: 녹색; 패딩: 1rem; } img { 너비: 100%; 최대 너비: 25vw; 최소 너비: 12rem; 배경색: 분홍색; } div { 배경색: 빨간색; 텍스트 정렬: 중앙; } 탐색 { 배경색: 노란색; 그리드-열: 범위 2; }</pre> <pre class="brush:html;toolbar:false;"><header> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 324 413.28'%3E%3Cect 클래스='655de5e2- 44d3-4b5a-ae63-e6e7ec799246' x='18' y='18.12' 너비='288' 높이='324' 채우기='blue'/%3E%3C/svg%3E"> <div>

제목

<p>텍스트 줄 1</p> <p>텍스트 줄 2</p> <p>텍스트 줄 3</p> </div> <탐색> <a href="#">메뉴 항목 1
P粉022140576P粉022140576458일 전557

모든 응답(1)나는 대답할 것이다

  • P粉294954447

    P粉2949544472023-08-31 11:33:30

    이미지 열의 너비는 임의적이지 않습니다.

    그리드 컨테이너는 먼저 구조를 배치합니다. . 그럼 은 물건을 정리하는 중입니다.

    즉, 이미지가 원래 너비(100%)일 때 첫 번째 열의 크기가 조정됩니다.

    항목이 宽度:50%로 렌더링될 때 브라우저는 뒤로 돌아가서 열 크기를 조정하지 않습니다.

    따라서 열의 크기는 임의적이지 않으며 이미지의 자연스러운 너비입니다.

    (이것은 틀림없이 버그이거나 CSS 제한 사항입니다.)

    이미지가 전체 너비일 때는 이 문제가 발생하지 않습니다.

    으아악 으아악

    시도하면 다시 나타납니다. width: 150%:

    으아악 으아악


    참고

    일반적으로 CSS Grid 및 Flexbox를 사용할 때 이미지를 컨테이너의 하위 항목으로 만드는 것은 좋지 않습니다.

    즉, 일반적으로 이미지를 그리드나 플렉스 항목으로 사용하지 않는 것이 가장 좋습니다.

    브라우저마다 버그와 렌더링 차이가 너무 많습니다.

    많은 경우 이미지를 그리드 항목에 div 中(使 div 배치하면 됩니다.

    이미지를 그리드 또는 플렉스 항목으로 사용하지 마세요:

    회신하다
    0
  • 취소회신하다