Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Почему css не работает совместно с html
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Почему css не работает совместно с html

Страниц (2): [1] 2 »
 

1. Pavelbeginner - 15 Августа, 2011 - 00:09:43 - перейти к сообщению
Почему вот это не канает?:

<!DOCTYPE html>
<html>

<head>
</head>
<body>
<table style="border:1px red solid;">
<div style="display:table-row;">
<div style="display:table-cell;border:1px green solid;">
fsdfdsf
</div>
<div style="display:table-cell;border:1px blue solid;">
fsdfdsf
</div>
</div>
<div style="display:table-row;">
<div style="display:table-cell;border:1px green solid;">
fsdfdsf
</div>
<div style="display:table-cell;border:1px blue solid;">
fsdfdsf
</div>
</div>
</table>
</body>
</html>

Имею ввиду почему тег table не становится таблицей для внутренних дивов? То есть браузер создает две таблицы, одна table, а другая анонимная вокруг дивов?
2. DeepVarvar - 15 Августа, 2011 - 01:19:50 - перейти к сообщению
Ну так он ждет что у таблицы будет хоть один ряд и в нем хоть одна ячейка.
Иначе это не таблица...
3. Pavelbeginner - 15 Августа, 2011 - 01:46:59 - перейти к сообщению
Ну я же прописал css свойства дивам. Теперь они являются рядом и ячейками.
4. grefon - 15 Августа, 2011 - 02:08:20 - перейти к сообщению
Pavelbeginner, потому что тут идет эмуляция таблицы средствами css. Так просто изначально делать некорректно, получается киборг - недочеловек, недоробот.

Попробуйте так, но все равно это лажа:
CODE (html):
скопировать код в буфер обмена
  1. <table style="border:1px red solid;display:inline-block;" cellpadding="5" cellspacing="5">
  2.   <div style="display:table-row;">
  3.     <div style="display:table-cell;border:1px green solid;"> fsdfdsf </div>
  4.     <div style="display:table-cell;border:1px blue solid;"> fsdfdsf </div>
  5.   </div>
  6.   <div style="display:table-row;">
  7.     <div style="display:table-cell;border:1px green solid;"> fsdfdsf </div>
  8.     <div style="display:table-cell;border:1px blue solid;"> fsdfdsf </div>
  9.   </div>
  10. </table>
  11.  
5. DeepVarvar - 15 Августа, 2011 - 07:58:56 - перейти к сообщению
grefon Это прямо какой-то грустный Psychodelic-XML
6. Pavelbeginner - 15 Августа, 2011 - 12:05:34 - перейти к сообщению
эмуляция не эмуляция, какая разница? Ведь весь html это все лишь теги, которые в последствии браузер превратит в объекты в памяти, затем этим объектам будет присвоено css свойство display. В этом можно убедиться посмотрев через фаербаг значение свойства display у table, которое присваивает браузер по-умолчанию. Оно равно display:table. Если я в чем-то ошибаюсь, то, пожалуйста, расскажите алгоритм, как все это браузер делает.
7. Данил_123 - 15 Августа, 2011 - 13:46:25 - перейти к сообщению
Не понятно зачем засорять html-код, но раз Вы хотите так, то можно попробавать внести css код в теги
CODE (html):
скопировать код в буфер обмена
  1. <style type="text/css" >
  2.  
  3. </style>
..
8. Pavelbeginner - 15 Августа, 2011 - 13:57:20 - перейти к сообщению
Данил_123, причем здесь это? Фигню какую-то пишете.
9. grefon - 15 Августа, 2011 - 19:35:22 - перейти к сообщению
Pavelbeginner пишет:
эмуляция не эмуляция, какая разница?

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

DeepVarvar пишет:
grefon Это прямо какой-то грустный Psychodelic-XML

Радость Согласен, но какой вопрос - такой ответ!
10. Pavelbeginner - 15 Августа, 2011 - 21:40:06 - перейти к сообщению
Не знаю, я все же считаю, что нету никакой архитектуры. Есть просто набор тегов(для лохов, уж извините). Лохи знают, что делают теги и используют их. У тегов уже прописаны, как Вы выражаетесь "наклейки" и поэтому браузер отображает тег table, как таблицу и т.д. В доказательство сего факта откройте фаербагом документ и посмотрите любой тег, у него уже прописаны браузеровские стили. И, если я прописываю диву свойство display:table, то это никакая не эмуляция. Если я ошибаюсь, то докажите обратное, а не просто нелепые примеры.
11. grefon - 16 Августа, 2011 - 00:31:31 - перейти к сообщению
Pavelbeginner пишет:
Если я ошибаюсь, то докажите обратное, а не просто нелепые примеры.

Ого! Даже так? Может мне еще лезгинку станцевать?
Вы тему создаете, чтобы Вам тут люди доказывали? Был задан вопрос, был дан ответ, а то, как Вы это понимаете - это Ваши личные половые проблемы.
12. Pavelbeginner - 16 Августа, 2011 - 01:01:19 - перейти к сообщению
Можно и без лезгинки. Я тему создаю, чтобы помогли, но не наоборот. Если Вы говорите, что что-то говно, то Вы должны быть уверены в этом, а не вводить в заблуждение. Я спросил, Вы посмеялись над вопросом, с умным видом привели пример из реального мира, на что я не согласился и, раз уж Вы посмеялись, то я предложил Вам доказать свою состоятельность, чтобы смеяться над другими, путём объяснения, где я не прав, приведя факты, хотя бы ссылку.
А не так, что абы ляпнуть что-то умное, типа "эмуляция таблицы" т.д. и т.п.
13. grefon - 16 Августа, 2011 - 02:54:28 - перейти к сообщению
Так доказательство в первом посте! Перечитайте, вроде Вы ведь писали.
Если браузер все воспринимает только по стилям, то почему вообще тема возникла? От куда бока пошли?

Ситуация просто отличная получилась:
- мужики, у меня самолет на воде летать не хочет?
- потому, что нужно топливо! Вода тоже жидкая, но это не одно и тоже.
- какое нафиг топливо? в самолете по-умолчанию стоит понимать жидкость так-то и так-то, и если я хочу заправлять водой, то буду!
- делайте, как хотите.
- не, ты мне докажи что я не прав!
14. Pavelbeginner - 16 Августа, 2011 - 10:21:58 - перейти к сообщению
Поскольку мой пример интерпретируется браузером не так, как я описал, то я и предположил, что у него есть приоритет над стилями, возможно, как вы называете "архитектура". То есть он ожидает после тега table встретить тег tr. Собственно в доказательство сего факта, если это так, то хотел бы ссылочку, где это все описывается. Мне не понятно, что значит "нарушена структура", то есть более менее себе представляю, что это значит порядок следования тегов друг в друге, но хотелось бы почитать про это. А когда я спрашиваю все лишь пытаются посмеяться, что-то сказав(может даже и правильное), но никто не говорит полностью, как есть и где можно прочесть этот момент.
15. grefon - 16 Августа, 2011 - 19:59:32 - перейти к сообщению
Я посмеяться не пытаюсь, но ситуация и сам вопрос забавные. Про "нарушена структура" Вы все правильно поняли. Теги должны идти в определенной последовательности, и у тегов стоит приоритет в браузере над стилями. Из за этого и возникла тема, и именно это я описал выше. Что такое эмуляция я думаю Вы и сами понимаете - это когда тег искусственно подменяется в визуальном плане на другой (заменить отображение div на tr). А где почитать я не знаю, потому что изучал все это много лет назад и ссылки не сохранял. Попробуйте порыскать по сети, наверняка найдете подробный мануал.

 

Powered by ExBB FM 1.0 RC1