2010-08-10 6 views
12

jqueryui 대화 상자 주위에 그림자를 넣으려고합니다. 하고 다음Jqueryui : 대화 상자 주위에 그림자를 만드는 방법은 무엇입니까?

<div id="dialog-form" class="ui-widget-shadow ui-corner-all"> 
    Some stuff in the box with a shadow around it 
</div> 

과 : 같은 뭔가 자바 스크립트 섹션에서

$(function() { 
    $("#dialog-form").dialog({ 
    resizable: false, 
    height: 300, 
    width: 350, 
    modal: true 
    }); 
}); 

. dialog-form 대화 상자 주위에서 그림자를 만들려면 어떻게해야합니까?

+0

당신은 그림자뿐만 아니라 모달 오버레이를 원하십니까? – Stephen

+0

내가 알 수있는 것부터 jQuery UI themeroller는 절대적으로 배치 된 요소들로 사기 친다. 대화 상자에서 작동하는지 확실하지 않습니다. – Stephen

+0

나는 그것이 draggable다는 것을 걱정하지 않는 경우에? – James

답변

31

CSS3를 사용하여이를 수행 할 수 있지만 모든 브라우저에서 작동하지는 않습니다.

  • 는 FIRST :
dialogClass: 'dialogWithDropShadow' 
  • SECOND : 당신의 대화 호출에서 사용자가 선택한 클래스 이름과 동일 "dialogClass"의 값을 설정 스타일 시트에서, 1 단계에서 지정한 클래스의 그림자를 설정하십시오.
<style type="text/css"> 
    .dialogWithDropShadow 
    { 
     -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); 
     -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); 
    } 
</style> 

또는, 당신은 당신이 JQuery와 UI 대화 의해 렌더링 된 HTML을 제어되지 않은 사실로 인해 복잡 할 것 (대화, 이미지 등 뒤에 DIV) 다른 그림자 기술을 사용해야합니다 .

행운을 빌어 요!

+0

dialogClass : 'dialogWithDropShadow'// 따옴표로 묶음 –

+0

감사합니다. – ctorx

+2

IE9 +, Firefox, Chrome, Opera 및 Safari 5.1.1의 경우 "박스 섀도우"만 사용하면됩니다. – maets

5

나는 이것으로 어려움을 겪고 있었으며 CSS3 박스 섀도우 기능이 아마도 최상의 해결책이라는 것을 알았습니다. IE8에서는 작동하지 않지만 수용할만한 것으로 나타났습니다. 여기에 당신이 무엇을 : 나는 우리가 가깝게 내가 할 수있는 등의 jQuery를 UI 1.6을했다 그림자를 복제하려고

open: function() { $(".ui-dialog").addClass("ui-dialog-shadow"); }, 

CSS

.ui-dialog-shadow { box-shadow: 0 0 0 7px rgba(0,0,0,0.1); } 

대화 코드입니다.

관련 문제