2010-12-29 3 views

답변

2

처음에는 배경 이미지의 크기를 조정할 수 없습니다. 또한 텍스트 크기를 조정하려면 자바 스크립트 또는 페이지 새로 고침이 필요합니다.

http://www.jsfiddle.net에서 예제를 작성하면 사람들이 설명하는 내용을 더 잘 볼 수 있습니다.

UPDATE

귀하의 질문은 여전히 ​​불분명하고 난 강력하게 jsfiddle을 추천합니다. 하지만 올바르게 해석했다면 ... FancyBox를 사용하고 있습니다. FancyBox는 페이지를 실행하는 Javascript가 있음을 나타냅니다. Javascript를 사용하면 텍스트가 컨테이너에서 넘칠지를 확인하고 그에 맞게 크기를 조정할 수 있습니다.

이렇게하려면 <div> (또는 컨테이너 요소)을 가져 와서 .scrollHeight.clientHeight 속성을 확인하십시오. 스크롤이 클라이언트보다 작은 경우 텍스트의 크기를 조정할 필요가 없습니다. 스크롤이 클라이언트보다 큰 경우 .style.fontSize 속성으로 크기를 조정할 수 있습니다.

이 어떤지 내가 설명하고있어의 검증되지 않은 예 : 당신은 당신이 좋아하는 방법을 작동하도록하려면이 조금 마술을해야 할 것이다

myDiv = $('containerElement'); // Get container object using its ID 
size = 50; // Start with 50px font size 

while(myDiv.scrollHeight > myDiv.clientHeight) { 
    // Decrement font size until scroll is less than client 
    myDiv.style.fontSize = (size - 1) + 'px'; 
} 

. 유의할 것들 :

내가 객체를 얻기 위해 달러 기능을 사용
  • , 당신은 더 많은 정보를 위해 구글 수
  • 컨테이너는 찾을 .clientHeight에 대한 차원을 정의해야합니다
  • 대신 .offsetHeight을 시도해야 할 수도 있습니다

      : 당신은 그냥 오버 플로우를 제어하기 위해 찾고 있다면

    .clientHeight, 당신은 CSS를 사용할 수 있습니다

  • overflow-x:hidden 또는 스크롤이나 자동차, overflow-y은 당신이 요구하는지 (코드) 분명하지 않다 때문에 내 대답은 모호, 같은
  • white-space:nowrap가 자동 텍스트가 다시 한 번,

을 포장하지만 방지 할 수있다.

+0

덕분에 내가 BG의 어 이미지의 크기를 조정해야 해달라고 통해 UR answer.but 스티브 그 bg 이미지를 이미 처리했습니다. 그냥 그 bg 이미지의 일부분에 텍스트를 넣고 싶습니다. (그 부분은 멋진 상자입니다.) 그래서 텍스트는 박스 바깥으로 가야합니다. 크기가 조정되어야합니다. 그것의 정적 내용 –

+0

안녕하세요 스티브 미안 해요 나는 "fancy box"라는 단어와 혼동합니다. 여기에는 그러한 js가 없습니다. 중간에 직사각형 상자가있는 배경을 가진 간단한 웹 페이지 (전부가 photshop에서 수행됩니다). 지금 나는 width : 100 %로 screen에 맞도록했다. 상자 안에 들어갈 수있는 텍스트를 넣고 싶다. 대안으로 나는 그 상자를 추출 할 것이다. bg 이미지에서 및 장소 div에있는 주요 image.now에 배치 할 수있는이 새로운 div의 텍스트 크기를 조정하려면 ?? –

3

텍스트가 들어있는 "상자"의 크기를 조정하려는 경우 CSS를 사용하여 요소의 크기를 백분율 기준 너비 및 높이 값으로 설정할 수 있어야합니다.

요소 내부의 텍스트의 크기를 조정하려면 JavaScript (아마도 jQuery)를 사용하여 설정된 간격으로 창의 크기를 폴링하고 새 창 크기를 기반으로 텍스트 크기를 조정하는 것이 좋습니다.

편집 : 분명히하기 위해 텍스트 상자 (아마도 div)의 크기를 페이지의 비율로 설정할 수 있어야합니다.예를 들어 텍스트가 포함 된 div는 창 너비의 80 %와 높이의 80 %가 될 수 있습니다. 그런 다음 여백을 "자동"으로 설정할 수 있습니다. 이렇게하면 상자 주위에 여백이 생기고 치수는 창 너비에 비례합니다.

예 :

<style type="text/css"> 
    div#box { 
    height: 80%; 
    width: 80%; 
    margin: auto; 
    } 
</style> 
<div id="box">Text goes here.</div> 

이는 "상자"DIV이 페이지에 수평으로 중앙에 원인이되지만, 수직 중심이 조금 까다 롭습니다. 백그라운드에서 상자 안에 머무르기 위해 수직으로 센터링하는 방법을 알아 보려면 this page을보고 싶을 것입니다.

다른 사람이 제안한 것처럼 상자의 배경을 전체 페이지 배경이 아닌 텍스트 컨테이너의 배경으로 만 만들 수도 있습니다. 이것은 좀 더 쉬울 수도 있지만 여전히 센터 중심에 너비와 높이 속성 및 자동 여백을 사용해야합니다.

+0

감사합니다 kyle에 대한 답변을 ur.but 나는 bg 이미지 또는 box.i의 크기를 조정할 필요가 bg 이미지를 이미 처리하고있다. 그냥 그 bg 이미지의 일부에 텍스트를 넣어 싶습니다. (그 부분은 멋진입니다 상자) .so 텍스트 상자 밖으로 이동해서는 안됩니다. 그것도 정적 콘텐츠 –

+0

@ 간단한 코더 : 내 편집을 참조하십시오 resized.and해야합니다. 그것은 당신을 더 도울지도 모른다. – Kyle

1

귀하의 솔루션에 대한 문제점은 다른 브라우저에 친숙하지 않고 매우 확장 성이 좋지 않아서 웹 사이트가 확장됨에 따라 더 많은 문제를 유발할 수 있다는 것입니다.

다른 BG 이미지에서 상자를 분리 시도하고 당신의 텍스트를 가지고있는 DIV의 배경으로 상자 이미지를 사용합니다.

+0

당신의 생각은 당신에게 좋은 붉은 색 X.ok로 보이는 것 같습니다. 나는 현재의 bg 이미지를 two.one으로 나눌 것입니다. 그리고 다른 하나는 box.so입니다. 그래서이 상자를 그 bg 그림에 div로 놓기를 원합니다. .so 그래서 주 bg 이미지 (크기 조정 가능)에이 상자를 텍스트와 함께 배치하는 방법을 제안 할 수 있습니까? –

관련 문제