Jump to content
  • 0

проблема с масштабирование swf


arthur1974
 Share

Question

Делаю "резиновую" страницу на которой есть флеш. Масштабирование флеша должно происходить с уменьшением размера окна браузера. НО с масштабированием есть проблема - появляются чёрные полосы сверху и с низу, хотя само изображение масштабируется нормально.

Как сделать нормальное масштабирование, т.е. что бы с уменьшением изображения уменьшалась и область отображение, а не заполнялась чёрным?

Код HTML:

<head>

<link href="style.css" rel="stylesheet" type="text/css">

<link href="media-queries.css" rel="stylesheet" type="text/css">

</head>

<body>

<div id="pagewrap">

<header id="header">

<div class="top_flash">

<object width="980" height="200"

classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="media/swflash.cab#version=9.0.0.0"

ID="flash_top" VIEWASTEXT>

<param name="movie" value="media/flash3.swf" />

<param name="quality" value="high" />

<param name="wmode" value="transparent" />

<param name="allowScriptAccess" value="always" />

<param name="allowFullScreen" value="true" />

<embed src="media/flash3.swf" quality="high" name="sf" allowScriptAccess="always" allowFullScreen="true"

pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"

width="980" height="200" >

</embed>

</object>

</div>

.....

Код media-queries.css

@media screen and (max-width: 980px) {

#pagewrap {

width: 95%;

}

.top_flash embed,

.top_flash object,

.top_flash iframe {

width: 100%;

height: auto;

min-height: 200px;

}

}

c80fffadf76575011552987a85278d32.jpg

Edited by arthur1974
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

arthur1974, а почему не в object`е подключаете?

т.е.?

т.е.?

И попробуйте, кстати, для wmode задать „opaque“. И ещё заодно вопрос — во всех браузерах так?

опробовал с <param name="wmode" value="opaque" /> - никаких изменений. Пробовал конечно во всех браузерах и во всех отображается одинаково

Link to comment
Share on other sites

  • 0

arthur1974, там было два вопроса… хотя дело то ваше…

И ещё, чьи это, собственно, полосы то? Ну, в смысле, какого элемента?

Я не знаю как проверить чьи то полосы. Но суть в том, что при уменьшении ширины окна браузера уменьшается по ширине и область отображения флеша, но по высоте эта область остаётся неизменной, хотя сам флеш (изображение) уменьшается пропорционально. В итоге потом расстояние от неизменившейся высоты области отображения до самого изображения почему-то заливается чёрным. Получается как бы изображение масштабируется внутри чёрной области хотя сама эта область не меняется по высоте (хотя ширина нормально меняется в соответствии со страницей).

А нужно, что бы область отображения флеша уменьшалось пропорциональной и по высоте так же как и само изображение.

p.s. Вот выяснил, что под IE8 отображается нормально (нет чёрных областей), а в мозиле, опере и хроме - есть те чёрные полосы

Edited by arthur1974
Link to comment
Share on other sites

  • 0

Насколько я в курсе, у object-а, в отличие от img, нет внутренних пропорций, поэтому высота на изменение ширины никак не реагирует. Поэтому ее придется или пересчитывать скриптом, или сделать контейнер похитрее (я смог додуматься только до картинки-распорки с нужными пропорциями и абсолютного позиционирования, проверено в FF и IE8-9, в IE7 почему-то не захотело)...

Link to comment
Share on other sites

  • 0

Делаю "резиновую" страницу на которой есть флеш. Масштабирование флеша должно происходить с уменьшением размера окна браузера. НО с масштабированием есть проблема - появляются чёрные полосы сверху и с низу, хотя само изображение масштабируется нормально.

Как сделать нормальное масштабирование, т.е. что бы с уменьшением изображения уменьшалась и область отображение, а не заполнялась чёрным?

http://noregret.org/tutor/elastic/

Link to comment
Share on other sites

  • 0

По поводу:

много всего написано, но не понятно как это всё связать с swf-файлом.

Я в своём примере внутри эмбеда добавил wmode вот так:

<embed wmode="transparent"...

Но получается не кросбраузерно, т.е. Opera не понимает этого, хотя MFF, GH, IE8 отображают нормально - без чёрной заливки.

А нужно сделать обязательно кросбраузерно!

Edited by arthur1974
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy