:
Fx.Slide = new Class({
/* .. */
initialize: function(element, options){
this.addEvent('complete', function(){
this.open = (this.wrapper['offset' + this.layout.capitalize()] != 0);
if (this.open && Browser.Engine.webkit419) this.element.dispose().inject(this.wrapper);
}, true);
this.element = this.subject = document.id(element);
this.parent(options);
var wrapper = this.element.retrieve('wrapper');
this.wrapper = wrapper || new Element('div', {
styles: $extend(this.element.getStyles('margin', 'position'), {overflow: 'hidden'})
}).wraps(this.element);
this.element.store('wrapper', this.wrapper).setStyle('margin', 0);
this.now = [];
this.open = true;
},
/* .. */
당신이 볼 수 있듯이, Fx.Slide
는 overflow: hidden
와 래퍼 DIV (this.wrapper
)에서 그것을 감싸고 요소의 margin
및 position
, 당신이 그것에 적용되는 요소 (this.element
)을한다 요소의 margin
을 제거합니다.
는 그래서
margin
을 제거하는 디자인입니다. 내가 이해하지 못하는 이유는 여백이 래퍼로 전송되지 않는 이유입니다.
!important
을 사용하는 부모 요소에 일반 DIV를 수정하는 CSS가있을 수 있으며
Fx.Slide
이 속성을 제대로 전송하지 못하게 할 수 있습니다.
당신은 Mootools의 최신 버전 더 (1.2.3.1)과 1.2.3을 Mootools의를 사용하고 있습니까?
또한 Fx.Slide
이 제대로 작동하려면 페이지에이 표준 모드 여야합니다. 마크 업에서 가장 먼저 XHTML 또는 HTML (엄격 또는 과도기) doctype을 사용하고 있습니까? (XML 프롤로그 없음).
$('mydiv').getParent().setStyle('margin', '0 auto');
MooTools이 작업에 큰 자바 스크립트 프레임 워크와 나는 개인적으로 it is way more powerful than jQuery (jQuery를 거대한 커뮤니티를 가지고 있다는 사실을 제외) 느낌 : 그것은 여전히 작동하지 않으면 최악의 경우는, 다음을 사용합니다. 아쉽게도 More
패키지 (jQuery의 플러그인과 동일) 일관성은 일부 측면에서는 다소 부족합니다.
나는 두 버전을 모두 사용하고 있습니다. 몇 시간 전에 다운로드 했어요. 내 페이지가 HTML 5 (그냥 )이지만 결과를보기 위해 XHTML 전환으로 전환했는데 여전히 같은 결과입니다. –
상위 요소에 일반 DIV에 영향을 미치는 CSS가 있습니까? –
부모 div도 0 자동이고 해당 div의 부모는 본문입니다. 여백은 0으로 설정되어 있습니다.하지만 그 영향은 영향을 미치지 않는 것 같습니다. 왜냐하면 방금 선언을 제거 했으므로 아무 것도 변경되지 않았기 때문입니다. 내가 생성자를 잘못 이해하지 않는다면 명시 적으로 래퍼에 여백이 없다고 말하는 것이 아닌가? 왜 당신이 물었던 것처럼 마진이 이전되지 않았습니까? –