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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: 2 вопроса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Pavelbeginner
Отправлено: 27 Декабря, 2010 - 01:45:31
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




Подскажите, пожалуйста:
1. Как разместить два дива, имеющих каждый свою ширину, высоту, свои отступы(margin) на одной строке? А последующие элементы, чтобы располагались на другой строке? Можно конечно установить в дивах свойство display:table-cell и тогда они будут на одной строке, но тогда у них будет одинаковая высота и свойство margin не работает.

2. Нужно внутри дива разместить тег img. У дива должны быть поля(padding), а также, если картинка превышает заданные для неё max-height и max-width, то див должен спрятать выступающие части картинки. Кроме того нужно, чтобы выступающие части картинки прятались равномерно с каждой стороны, то есть, если картинка превышает максимальную ширину на 10 px, то слева она должна спрятаться на 5 px и справа тоже на 5 px. Первая сложность с которой я столкнулся это то, что если у дива задать вот эти свойства padding:10px;overflow:hidden, то если картинка превышает установленный предел ширины, то див её прячет, но!!! padding-righ внутри дива исчезает, его место занимает картинка.

Помоги, пожалуйста, заранее благодарю!
 
 Top
Реф
Отправлено: 27 Декабря, 2010 - 02:36:02
Post Id



Частый гость


Покинул форум
Сообщений всего: 159
Дата рег-ции: Июль 2010  
Откуда: Реутов, Россия


Помог: 0 раз(а)




1.

2.
Чтобы див прятал выступающие части картинки и при этом сохранить padding, используй ещё один промежуточный блочный элемент (#div1 > div > img)
CODE (html):
скопировать код в буфер обмена
  1.  
  2. #div1
  3. {
  4.     padding: 10px;  
  5. }
  6.  
  7. #div1 > div
  8. {
  9.     overflow: hidden;
  10.     text-align : center;
  11.     /* Также необходимо задать ширину и высоту */    
  12. }
  13.  


А вообще с CSSом у меня туго, думаю знающие предложат что-то поумнее.


-----
Думать надо головой, а не головкой!
 
 Top
Pavelbeginner
Отправлено: 27 Декабря, 2010 - 02:56:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




За первое спасибо. На сколько я знаю в элемнтах, которые образуют блоки строкового уровня нельзя использовать элементы структурных блоков. Сейчас выяснил, что inline и inline-block это две разные вещи, спасибо.
(Добавление)
По поводу второго вопроса, это в голову самому пришло, но уверен, что можно как-то через css нормально сделать. К тому же это не решает проблемы с тем, чтобы картинка выравнивалась по-центру, то есть, чтобы её усекающиеся части прятались равномерно со всех сторон.
(Добавление)
И не могли бы своим языком рассказать на что влияет строка !doctype ? Гуглил, но не понял. На сколько я понял в каждом стандарте имеются свои теги, свой синтаксис. То есть например в версии xx.x1 атрибуты нужно писать в верхнем регистре, а в версии xx.x2 в нижнем. И вот если я не объявлю, что использую версию xx.x1, то браузер неправильно распарсит мой документ? В общем расскажите, пожалуйста, своими словами на что влияет это строка, для чего она нужна и какую лучше использовать. Очень хочу понять этот момент, заранее благодарю!
(Добавление)
И ещё один последний момент. На строке нужно разместить див, справа от него текст. Внутри дива находится картинка. Если я укажу у дива свойство display:inline-block;, то одна полоса текста может разместиться справа от него, остальная часть текста размещается под дивом. А как сделать, чтобы этот див обтекал текст? свойство float:left; не предлагать, так как под текстом должен находиться ещё один див и если текста мало, а свойство float:left указано, то див под текстом заползает под див слева от картинки который.
(Добавление)
И самый последний вопрос. Правильно ли я понимаю, что указание типа блока в свойстве display влияет на то какие свойства можно применять к блоку, а какие нет и то как он будет взаимодействовать с окружающими блоками?
 
 Top
Реф
Отправлено: 27 Декабря, 2010 - 04:52:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 159
Дата рег-ции: Июль 2010  
Откуда: Реутов, Россия


Помог: 0 раз(а)




Pavelbeginner пишет:
К тому же это не решает проблемы с тем, чтобы картинка выравнивалась по-центру, то есть, чтобы её усекающиеся части прятались равномерно со всех сторон.


Не уверен что будет работать (так как на сколько я понял прописать width картинки в css не получится), но попробуй так:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. #div1 > div > img
  3. {
  4.     margin: 0 auto;
  5. }
  6.  


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


DOCTYPE предназначен для указания типа документа. Необходим, чтобы браузер "понимал", как следует интерпретировать текущую веб-страницу, поскольку существует несколько версий HTML, ещё имеется XHTML, похожий на HTML, но со своими особенностями. Чтобы браузер понял, согласно какому стандарту отображать страницу, необходимо в первой строке задавать DOCTYPE. Отсюда вытекает следующее:
Не ты подстраиваешь DOCTYPE под браузер, а браузер подстраивается под указанный тобой DOCTYPE (в идеале).
Соответственно, необходимо знать все особенности выбранного Вами DOCTYPEа. Иначе выйдет, что заявленный Вами тип документа не подчиняется правилам документов того же типа. Например, Вы указали строгий (Strict) тип документа HTML 1.0, а значит обязаны контролировать, чтобы документ не содержал "устаревшие" или "не одобряемые" теги. Подробнее об особенностях каждого из типов можно найти в том же гугле.
Что лучше выбрать? Дело вкуса, опыта и здравого смысла.
Рекомендую обратить внимание на данную статью: http://www[dot]seo-copywrite[dot]ru/articles/16/

Pavelbeginner пишет:
И ещё один последний момент. На строке нужно разместить див, справа от него текст. Внутри дива находится картинка. Если я укажу у дива свойство display:inline-block;, то одна полоса текста может разместиться справа от него, остальная часть текста размещается под дивом. А как сделать, чтобы этот див обтекал текст? свойство float:left; не предлагать, так как под текстом должен находиться ещё один див и если текста мало, а свойство float:left указано, то див под текстом заползает под див слева от картинки который.

Сложновато в конце написал, но мне почему-то кажется, что float: left и clear: both тебе могут помочь.

Pavelbeginner пишет:
И самый последний вопрос. Правильно ли я понимаю, что указание типа блока в свойстве display влияет на то какие свойства можно применять к блоку, а какие нет и то как он будет взаимодействовать с окружающими блоками?

Даже больше скажу, многие свойства неявно влияют на другие. Например float, отличный от none, пораждает блочный элемент (display: block). Поэтому конструкции вида:
float: left;
display: inline;
не корректны, скажем так.

ПС: эээх... что-то захотелось вспомнить CSS, в своё время знал его весьма не плохо. А тут ещё этот CSS3... Улыбка


-----
Думать надо головой, а не головкой!
 
 Top
JustUserR
Отправлено: 27 Декабря, 2010 - 20:39:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pavelbeginner пишет:
У дива должны быть поля(padding), а также, если картинка превышает заданные для неё max-height и max-width, то див должен спрятать выступающие части картинки
Решения предполагаемой вами задачи вкючает целевую информацию об отображаемом изображении на текущей инстнанции HTML-страницы - и для его коректного решения необходмо предварительное определение параметров изображения и обеспечения их включения в img-элемент - или использование управляющего JS-скрипта


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pavelbeginner
Отправлено: 31 Декабря, 2010 - 05:01:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




Мне не понятно вот что. Вот код
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML PUBLIC  “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
  3. <html>
  4.         <head>
  5.                 <style>
  6.  
  7.                 </style>
  8.         </head>
  9.         <body>
  10.         <div style="border:1px red solid;width:139px;height:139px;float:left">
  11.                
  12.         </div>
  13.           bla bla  bla bla  bla bla  bla bla  bla bla  bla bla
  14.         <div style="border:1px blue solid;width:50px;height:50px;">
  15.        
  16.         </div>
  17.         </body>
  18. </html>
  19.  


Почему inline элемент обтекает нормально, а элемент block не обтекает, а залазит на предыдущий див так, как-будто того и вовсе нету?

И я так понимаю свойство clear ничего не отменяет, оно просто запрещает, что с какого-то бока или с обоих находились другие элементы.
 
 Top
JustUserR
Отправлено: 02 Января, 2011 - 12:48:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pavelbeginner пишет:
Почему inline элемент обтекает нормально, а элемент block не обтекает, а залазит на предыдущий див так, как-будто того и вовсе нету?
Возможной причиной осуществления отображения в перекрытием блочных элементов позиционируемых на основе float-параметров является выбор точки в контейнерной области на основе которой производится расчет их позиции - в частности блочное отображения предоставляет возможность статической точки последовательно расположенных блоков


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Pavelbeginner
Отправлено: 03 Января, 2011 - 02:07:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




Как осуществлять выбор точки в конкретной области на основе которой производится расчёт позиции элментов на основе float-параметров
(Добавление)
Как сделать так, чтобы следующий див оказался под текстом bla bla bla
 
 Top
JustUserR
Отправлено: 03 Января, 2011 - 02:48:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Pavelbeginner пишет:
Как сделать так, чтобы следующий див оказался под текстом
В случае если используемая ширина и высота блоков является фиксированной в соответсвии с предполагаемым примером - то релизация задачи может быть достигнута посредством явного относительного позиционрования с фиксированными значениями


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB