Форум XHTML.ru <!-- по-русски -->

Сайты - по стандартам, но не стандартные сайты!


#1 01.12.2005 10:53

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

<span style="display: block;">

чем <span style="display: block;"> отличается от <div> кроме того, что его можно использовать как строчный контейнер (использовать внутри других строчных контейнеров)?

Нет на форуме

 

#2 01.12.2005 11:04

Andrew
Administrator
Зарегистрирован: 21.11.2005
Сообщений: 90
Вебсайт

Re: <span style="display: block;">

Очевидно тем, что div по определению блочный элемент, а span по определению строковый.
В этом случае нарушается логика разметки.
Какой смысл делать строковый элемент span блочным, применяя к нему стили, если есть готовый блочный элемент div?

Нет на форуме

 

#3 01.12.2005 11:09

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

Re: <span style="display: block;">

Andrew, ну я ж написал его можно использовать как строчный контейнер (использовать внутри других строчных контейнеров) smile
в частности можно использовать оформление, присущее блочным элементам (к примеру text-align), внутри строчного контейнера <a>.

Нет на форуме

 

#4 01.12.2005 11:30

Andrew
Administrator
Зарегистрирован: 21.11.2005
Сообщений: 90
Вебсайт

Re: <span style="display: block;">

mackuler написал:

Andrew, ну я ж написал его можно использовать как строчный контейнер (использовать внутри других строчных контейнеров) smile
в частности можно использовать оформление, присущее блочным элементам (к примеру text-align), внутри строчного контейнера <a>.

Вот и нарушение логики: строковые элементы размещаются внутри блочных, а вот блочные нельзя внутри строки размещать.

В этом случае надо либо делать <a> блочным и выравнивать текст по центру, либо <a> разместить внутри блочного элемента (например <p>) и выравнивать относительно его.

Нет на форуме

 

#5 01.12.2005 13:23

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

Re: <span style="display: block;">

<a> разместить внутри блочного элемента (например <p>) и выравнивать относительно его.
нужно внутри <a> разные выравнивания одновременно

В этом случае надо либо делать <a> блочным и выравнивать текст по центру
в <a style="display: block;"> нельзя пихать <div> и <p>

Вот и нарушение логики: строковые элементы размещаются внутри блочных, а вот блочные нельзя внутри строки размещать.
может я непонятно изъяснился.
задача - выделить ссылкой текст, в котором используются разные выравнивания одновременно.
решение -

<a href="...">
   left
   <span style="display:block; text-align: right">right</span>
</a>

внимание, вопрос:
чем <span style="display: block;"> отличается от <div> кроме того, что его можно использовать как строчный контейнер (использовать внутри других строчных контейнеров)?
smile

Нет на форуме

 

#6 01.12.2005 19:27

Andrew
Administrator
Зарегистрирован: 21.11.2005
Сообщений: 90
Вебсайт

Re: <span style="display: block;">

странно, но браузеры показывают это, даже вправо и влево размещают.

может так?:
<a href="#" style="display:block;text-align:right;"><span style="display:block; float:left;text-align:left;">left</span> right</a>

Нет на форуме

 

#7 01.12.2005 20:23

MT
Опытный
Откуда: Moscow
Зарегистрирован: 23.11.2005
Сообщений: 241
Вебсайт

Re: <span style="display: block;">

Оба лишены всякого семантического смысла и придуманы только как контейнеры (SPAN — строчный, DIV — блочный) для применения стилей. Размещать блочные элементы, являющиеся таковыми от природы, внутри строчных запрещает DTD HTML/XHTML. Ссылки, SPAN'ы и прочие строчные элементы можно сколь угодно превращать в блочные при помощи {display: block; }.

чем <span style="display: block;"> отличается от <div> кроме того, что его можно использовать как строчный контейнер (использовать внутри других строчных контейнеров)?


[url=http://TANALIN.com/blog/]блог[/url] | [url=http://TANALIN.com/music/]музыка[/url] | [url=http://firefox.com/]браузер[/url]

Нет на форуме

 

#8 01.12.2005 21:43

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

Re: <span style="display: block;">

Andrew, так я не жалуюсь, все работает, просто было интересно, почему div нельзя, а span display:block можно
а ответ MT удовлетворил smile просто я думал - может чего недопонимаю..

Нет на форуме

 

#9 01.12.2005 22:16

Andrew
Administrator
Зарегистрирован: 21.11.2005
Сообщений: 90
Вебсайт

Re: <span style="display: block;">

mackuler написал:

Andrew, так я не жалуюсь, все работает, просто было интересно, почему div нельзя, а span display:block можно
а ответ MT удовлетворил smile просто я думал - может чего недопонимаю..

Я думаю, если размещать внутри <a> элемент, отображаемый как блочный, то и сам <a> должен в этом случае быть блочным. Т.е. как я показал выше. Хотя, может и заблуждаюсь.

В любом случае браузер как-нибудь это показывает...

Нет на форуме

 

#10 02.12.2005 12:50

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

Re: <span style="display: block;">

В любом случае браузер как-нибудь это показывает...
да браузер и <a><p></p></a> замечательно показывает. вопрос в валидности.

Я думаю, если размещать внутри <a> элемент, отображаемый как блочный, то и сам <a> должен в этом случае быть блочным.
вроде бы нет.. по крайней мере валидатор не ругается

Нет на форуме

 

#11 02.12.2005 16:09

Andrew
Administrator
Зарегистрирован: 21.11.2005
Сообщений: 90
Вебсайт

Re: <span style="display: block;">

mackuler написал:

В любом случае браузер как-нибудь это показывает...
да браузер и <a><p></p></a> замечательно показывает. вопрос в валидности.

вроде не должен проходить валидацию



mackuler написал:

Я думаю, если размещать внутри <a> элемент, отображаемый как блочный, то и сам <a> должен в этом случае быть блочным.
вроде бы нет.. по крайней мере валидатор не ругается

он проверяет либо html, либо css, но не вместе. другое дело браузер, который показывает документ основываясь на вложенности элементов и применении к ним css. IE, бывает, глючит именно из-за размещения блочного элемента в строковом.

Нет на форуме

 

#12 02.12.2005 17:27

mackuler
Новичок
Зарегистрирован: 27.11.2005
Сообщений: 17

Re: <span style="display: block;">

он проверяет либо html, либо css, но не вместе
ага, точно.. значит вот оно в чем дело..

Нет на форуме

 

Board footer

Работает на PunBB
© 2002—2005 Rickard Andersson