2016-10-25 1 views
2

빨간색 컨테이너 요소는 텍스트가 아닌 이미지의 너비가 좋겠지 만 텍스트가 더 넓기 때문에 텍스트의 크기까지 확장됩니다. 이것을 달성하는 방법?CSS : 이미지가 작아도 이미지 주위에 컨테이너 요소를 감싸고 텍스트는 감싸지 않습니까?

https://jsfiddle.net/strz3stt/

참고 : 나는 존재 마크 업 작업을 시도하고 그래서 내가 마크 업을 편집 할 수 없습니다 전용으로 CSS와 함께 할 수있는 방법이 필요합니다.

HTML :

<span class="wrapper"> 
    <img src="https://placekitten.com/g/400/300"> 
    <a href="http://google.com">Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google </a> 
</span> 

CSS :

.wrapper { 
    border: 3px solid red; 
    display: inline-block; 
} 
.wrapper img { 
    border: 1px solid blue; 
} 
.wrapper a { 
    display: block; 
    border: 1px solid green; 
} 
+1

이미지의 크기를 알고 계십니까? –

+0

@VladTarniceru 아니요, WYSIWYG 편집자가 선택하며 크기는 제한이 없습니다. 그래서 래퍼에게 불행하게도 고정 폭을 줄 수는 없습니다. – TK123

답변

5

는 이미지의 폭에 대한 링크의 텍스트를 포장하는 당신의 의도의 가정, 당신이 할 수있는 것은에 래퍼를 켭니다 표. 그런 다음 width: 1px을 설정하여 너비를 내용의 너비로 만들 수 있습니다.
(이것은 또한 깔끔하게 텍스트의 단어가 이미지보다 넓게 일어나는 사건을 처리합니다.)

.wrapper { 
 
    border: 3px solid red; 
 
    display: table; width: 1px; 
 
} 
 
.wrapper img { 
 
    border: 1px solid blue; 
 
    max-width: calc(100vw - 22px); 
 
} 
 
.wrapper a { 
 
    display: block; 
 
    border: 1px solid green; 
 
}
<span class="wrapper"> 
 
    <img src="https://placekitten.com/g/400/300"> 
 
    <a href="http://google.com">Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google Google </a> 
 
</span>
또한

, 당신이 <span>보다는 <figure>을 사용하는 것이 좋습니다 래퍼 용. 이것은 정확히 <figure>을위한 것입니다.

+0

감사합니다.이 질문에 대한 답변을하지만 현실 세계의 예에서는 이미지의 응답 성이 최대 100 %입니다. 위의 예에 해당 이미지가 적용되면 이미지가 비뚤어집니다. https://jsfiddle.net/strz3stt/2/ 물론 이것은 완벽하게 이해할 수 있지만, 최대 너비 100 %의 코드 작업? 마크 업을 편집하고 몇 가지 추가 요소를 추가하면 쉽게 수행 할 수 있지만 앞에서 언급했듯이 마크 업을 변경할 수 없으며 CSS만으로도이 작업을 수행해야합니다. – TK123

+1

미안하지만 너무 오래 걸렸지 만, 해결책은'% '보다는'vw'에서 최대 너비를 사용한다는 것입니다. 업데이트 된 답변을 참조하십시오. 실제로 저는'calc'를 사용해야했습니다. 왜냐하면 100vw는 몸체의 여백을 포함하기 때문입니다; 당신은 그것이 당신이 필요로하는 방식으로 작동하도록 약간의 땜질을해야 할 것입니다. –

+0

정말 고마워 !! 위대한 작품 :) – TK123

관련 문제