Jump to content
  • 0

Условн. комментарии в ИЕ


people2010
 Share

Question

Хочу сделать отступ картинки которая находиться внутри ячейки таблицы, отсуп хочу сделать на определенное расстояние вправо. Дело в том что задаю в стилях и во всех браузерах кроме ИЕ, отступ, такой как нужен, в ИЕ показывает немного дальше что меня не устраивает. Для этого использую условные комментарии. Дело в том, что вроде они срабатывают, но проблема в том, что не знаю как поставить так условие, чтоб не дублировалась картинка 2-ой раз в браузере Ие именно, толкьо в нём и больше ни где дублируется картинка, как исправить подскажите.

<html>
<head><title>Видео</title>

<style type="text/css">
.videoyrokiIE{position:relative; left:165px; }
.videoyrokiDR{position:relative; left:180px;}
</style>

</head>
<body style="margin:0px; padding:0px;">
<table width="100%" border="1" align="center">
<tr>
<td align="center">
<img src="shapka.jpg"><br>

<!--[if IE]>
<img class="videoyrokiIE" src="videoyroki.png" align="left" >
<![endif]-->

<img class="videoyrokiDR" src="videoyroki.png" align="left" >




</td>
</tr>
</table>
</body>
</html>

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0

традиционное применение условных комментариев подразумевает подключение отдельного файла стилей для IE:

<!--[if IE]><link rel="stylesheet" type="text/css" href="styles-for-ie.css" /><![endif]-->

Для Вашего случая это как раз подходящее решение.

В коде html пишете только один вариант, например

<img class="videoyroki" src="videoyroki.png" />

,

в css для всех браузеров пишете:

.videoyroki {
position: relative;
left: 180px;
float: left;
}

и для IE переопределяете одно свойство в файле styles-for-ie.css:

.videoyroki {
left:180px;
}

Edited by swetlana
Link to comment
Share on other sites

  • 0

Что-то наверное друго вместо позиционирования использовать нужно,

а то я смотрю при уменьшении окна барузера кнопка смещается вправо, не важно какой вид позиционирования использовать.

Как разместить кнопку-картинку без позиционирования,чтоб при уменьшении окна браузера кнопка не летела вправо?

Link to comment
Share on other sites

  • 0

тебе знакомо слово DOCTYPE ?

А слово "валидация" ?

Или ты из тех кто считает себя самым умным, а проверка на валидность - то для неудачников?

padding-left:-5px; - ты считаешь что есть отрицательные паддинги?

Edited by mishka2
Link to comment
Share on other sites

  • 0

Точно, вот эта строка помогла:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional 4.01//EN">

А если позиционировать элементы с использованием Доктайпа, пр иуменьшении окна браузера объекты не будут ездить по экруану, при уменьшении окна браузера,

потому-что без доктайпа ездили, а с доктайпом не будут?

Link to comment
Share on other sites

  • 0
Точно, вот эта строка помогла:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional 4.01//EN">

А если позиционировать элементы с использованием Доктайпа, пр иуменьшении окна браузера объекты не будут ездить по экруану, при уменьшении окна браузера,

потому-что без доктайпа ездили, а с доктайпом не будут?

Теперь вроде всё отлично, только в браузере Опера маленький отступ ,как убрать?

Link to comment
Share on other sites

  • 0

Не заметил никакого отступа в Опере 10.

Все проблемы в мелочах.

1. Поставь вот этот доктайп

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

2. Исправь ошибки в коде

3. Поставь cellpadding и cellspacing у таблицы явно

4. border=1 фтопку, замени стилями.

Сделаешь все правильно, тогда и отдельные стили не понадобятся под разные браузеры. У тебя же таблица, с ней ваще никаких проблем не должно быть.

Link to comment
Share on other sites

  • 0

У меня Опера 9,63.

Если дописать как у вас доктайп, тогда, ещё от верху произойдёт отступ.

Вот переделал и всё равно отсуп от лева имено в браузере Опера, в др. нормально.

http://www.sharemania.ru/0131176

Link to comment
Share on other sites

  • 0

у меня опера 10.61. Про 9ку давно забыл.

Отступа нет.

Браузер обновить не хочешь?

И доктайп полный напиши

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Edited by mishka2
Link to comment
Share on other sites

  • 0

Точно, хотя я устанавливал его в боди, оказалось нужно вот так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head><title>Видео</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<style type="text/css">

</style>

</head>
<body style="margin:0px; padding:0px;">

<table width="910px" style="border:1px solid black;" align="center" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<img src="shapka.gif"><br>
<img style="padding:0px; margin:0px;" src="videoyroki.png" align="left" >
</td>
</tr>
</table>
</body>
</html>

Edited by people2010
Link to comment
Share on other sites

  • 0

Вот это да, оказывается вот эта строка

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Очень много значит.

Если написать просто:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

Тогда произойдет отступ от верха ещё, а если написать так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Тогда во всех браузерах отлично.

В итоге код получился таким. и стал работать во всех браузерах.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head><title>Видео</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<style type="text/css">
.marginpadding{margin:0px; padding:0px;}
.bordur{border:1px solid black;}

.videoyroki{position:relative; left:0px;}
</style>

</head>
<body class="marginpadding">

<table width="910px" class="bordur" align="center" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<img src="shapka.jpg"><br>
<img class="marginpadding" src="videoyroki.png" align="left" >
</td>
</tr>
</table>
</body>
</html>

Edited by people2010
Link to comment
Share on other sites

  • 0

В верстке все мелочи много значат.

И игнорировать правила нестоит, их придумали далеко не дураки. Проверяй всегда на валидность.

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

Link to comment
Share on other sites

  • 0
Если написать просто:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

То Опера (9) перейдет в режим совместимости. Не понимает она укороченный Doctype.

Но выбрав xhtml, нужно ему соответствовать.

Параметры width и align в стили, все одиночные теги должны быть закрыты:

<img src="shapka.jpg" alt="" />
<br />

Link to comment
Share on other sites

  • 0

Если написать просто:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

Тогда произойдет …

а вот если написать ещё проще:

<!DOCTYPE html>

…и далее по коду всё как можно проще: каждый элемент писать только сто раз подумав, действительно ли он тут нужен — то проблемы куда-то сами собой испаряются.

Чудеса, да и только!

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