Jump to content
  • 0

Пустой span c min-width в таблице. Проблемы с ИЕ7.


F315
 Share

Question

Добрый день!

Задача такая: сверстать пустые поля для вывода информации. В дальнейшем они должны растягиваться по содержимому (по ширине). Верстка табличная.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>min-width</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/reset.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<!--[if lte IE 7]>
</style>
<![endif]-->
<style type="text/css">
.minWidth{
display: inline-block;
min-width:100px;
height:100px;
background-color:red;
}
table{
width:100%;
border: 1px solid green;
}

</style>
</head>

<body>
<table>
<tr>
<td style="border: 2px solid green;">
<span class="minWidth"></span>
</td>
<td style="border: 2px solid blue;">
<span class="">Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время. </span>
</td>
</tr>
</body>
</html>

Проблемав том, что в ИЕ7 на пустой span c min-width наезжает соседняя ячейка.

Вот как выглядит в мозиле:

http://savepic.ru/2985594.jpg

Это в ИЕ7:

http://savepic.ru/2987642.jpg

Помогите решить задачку, плиз.

Edited by F315
Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Internet Explorer до версии 7 включительно:

значение inline-block применяется только для встроенных элементов, с блочными элементами работает некорректно.

Источник

ИМХО, стоит убрать display и height. Для одной из ячеек задать длину в 1%.

Span применяется для форматирования текста. Для оформления блоков лучше использовать div.

В код стилизацию советую не вставлять, а выносить в <style/>


Удалил бред

Edited by Radiocity
Link to comment
Share on other sites

  • 0

эмм, да

может не то делаю

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>min-width</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/reset.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<!--[if lte IE 7]>
</style>
<![endif]-->
<style type="text/css">
.minWidth{
display: inline-block;
min-width:100px;
height:100px;
background-color:red;
}
table{
width:100%;
border: 1px solid green;
}

</style>
</head>

<body>
<table>
<tr>
<td style="border: 2px solid green; width:100px;">
<span class="minWidth">Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.</span>
</td>
<td style="border: 2px solid blue;">
<span class="">Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время. </span>
</td>
</tr>
</body>
</html>

вот скрин в ИЕ7:

http://savepic.ru/3002995.jpg

Edited by F315
Link to comment
Share on other sites

  • 0

значение inline-block применяется только для встроенных элементов, с блочными элементами работает некорректно.

так span же инлайн элемент

ИМХО, стоит убрать display и height.

если убрать высоту, то поле вывода (сделанное span) в пустом виде не будет отображаться

попробовала заменить span на div и прописать ширину td 1% - результат тот же

http://savepic.net/1880926.jpg

<table>
<tr>
<td style="border: 2px solid green; width:1%;">
<div class="minWidth"></div>
</td>
<td style="border: 2px solid blue;">
<div class="">Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время. </div>
</td>
</tr>
</table>

В код стилизацию советую не вставлять, а выносить в <style/>

я так для быстроты и наглядности пишу :-)

в реальном проекте все стили выносятся в отдельные файлы

Edited by F315
Link to comment
Share on other sites

  • 0


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>min-width</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/reset.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<style type="text/css">
.a{
border: 2px solid green;
background-color:red;
width:200px;
}

.b{
border: 2px solid blue;
}

table{
width:100%;
border: 1px solid green;
}

</style>
</head>

<body>
<table cellspacing="0" cellpadding="4" border="0">
<tr>
<td class="a">
<span>
Ширина не меняется взависимости от контента<br/>толькоеслиестьпробелывтексте______
</span>
</td>
<td class="b">
<span>
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
</span>
</td>
</tr>
</body>
</table>
</html>

Идея с 1% себя не оправдала =(

Edited by Radiocity
Link to comment
Share on other sites

  • 0
Вот скрины из ФФ и ИЕ7 http://screencast.com/t/088m7pl9Ng

Сделай экраны одинаковые

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

Edited by F315
Link to comment
Share on other sites

  • 0
Вот скрины из ФФ и ИЕ7 http://screencast.com/t/088m7pl9Ng

Сделай экраны одинаковые

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

Чтобы он по ширине растягивался нужно применить display:block. Однако и это не привидет к желаемому результату, так как ie7 все равно отобразит его некорректно.

Link to comment
Share on other sites

  • 0
Вот скрины из ФФ и ИЕ7 http://screencast.com/t/088m7pl9Ng

Сделай экраны одинаковые

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

Как это не растягивается? http://screencast.com/t/2jvApHXel

Link to comment
Share on other sites

  • 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>min-width</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="css/reset.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<!--[if lte IE 7]>
</style>
<![endif]-->
<style type="text/css">
.minWidth{
display: inline-block;
min-width:100px;
height:100px;
background-color:red;

}
table{
width:100%;
border: 1px solid green;

}

</style>
</head>

<body>
<table>
<tr>
<td style="border: 2px solid green; width: 100px;">

<span class="minWidth">fssggddddddddddddddddddddddddddgggggggggggggggdfss sdfssdsd sfsdf sdfsddssdsdfsdsdds dsd sdssd sdd s d</span>
</td>
<td style="border: 2px solid blue;">
<span class="">Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время. </span>
</td>
</tr>
</body>
</html>

Link to comment
Share on other sites

  • 0

Psywalker , спасибо!!!

Я поняла, в чем фишка.

Такой спан растягивается по ширине максимального слова, т.е. до первого пробела. Поэтому у меня и умещалась строка, шириною 100px, а дальше переносилась на пробеле.

А у тебя есть очень длинное слово "fssggddddddddddddddddddddddddddgggggggggggggggdfss" :D

Добавила свойство white-space: nowrap

Все заработало :yahoo:

.minWidth{
display: inline-block;
min-width:100px;
height:100px;
background-color:red;
white-space: nowrap;
}

Link to comment
Share on other sites

  • 0

Psywalker , спасибо!!!

Я поняла, в чем фишка.

Такой спан растягивается по ширине максимального слова, т.е. до первого пробела. Поэтому у меня и умещалась строка, шириною 100px, а дальше переносилась на пробеле.

А у тебя есть очень длинное слово "fssggddddddddddddddddddddddddddgggggggggggggggdfss" :D

Добавила свойство white-space: nowrap

Все заработало :yahoo:

.minWidth{
display: inline-block;
min-width:100px;
height:100px;
background-color:red;
white-space: nowrap;
}

Ну вот и отлично, наконец-то :)

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