Условия применения стилей в CSS по аттрибуту тега HTML @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 26 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Заголовок сообщения: Условия применения стилей в CSS по аттрибуту тега HTML
Сообщение Добавлено: 3 Январь 2008, 19:59:51 
С новым годом вас... есть вопрос.

У меня есть готовый HTML (который генерится в CMS). В нем есть картинки, вставленные через тэг <iMG> с выраниванием ALIGN="LEFT" или ALIGN="RIGHT". Мне нужно: накатить на них такой стиль (через родительский DIV), чтобы к тем, у кого LEFT, применился один стиль, а для RIGHT - другой, для того, чтобы указать margin или padding для каждого из случаев разный. Вот... :confused:

_________________
Лишь одно в моём кармане - беспонтовый пирожок
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Заголовок сообщения: Re: Условия применения стилей в CSS по аттрибуту тега HTML
Сообщение Добавлено: 3 Январь 2008, 20:49:43 
Konyukhov, сталбытьтак: картинки сами по себе не выравниваются относительно ничего, их расположение задаётся родительским элементом, например, div'ом, как Вы указали. Соответственно, обзовите каждый родительский элемент по-своему и задайте соответствующие стили (выравнивания, отступы и т.д.).

_________________
Keep in touch. Andrey Alexeev.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 3 Январь 2008, 23:55:20 

Цитата:
Условия применения стилей в CSS по аттрибуту тега HTML


есть такие. НЕкроссброузерно.
tentoys, да ну, они выравниваются [img]относительно%20окружения[/img].

_________________
клетчатый!
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Январь 2008, 00:04:31 
karamba,
/me долго и тупо смотрел на

Цитата:
[img]относительно%20окружения[/img]


потом долго думал. В итоге согласился.

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 4 Январь 2008, 06:07:06 
tentoys, ээ.. HTML -то готовый у меня, его в CMS сделали, я там не хозяин. Вот лежит он в mysql, и все. А в нем <p>…<img align="left" />….</p>, то left то right, а стили нужны разные в зависимости это этого (отступы)…


Цитата:
[img]относительно%20окружения[/img]

- до сих пор тупо смотрю... что бы это могло значить??

_________________
Лишь одно в моём кармане - беспонтовый пирожок
Rustem Муж.
новый человек
75
Сообщения: 185
Зарегистрирован: 06.07.06
Сообщение Добавлено: 4 Январь 2008, 11:28:59 
Может так:
img [align^="left"] { стиль для левовыравненоной .. },
img [align^="right"] { стиль для право..},

Но работать будет не везде.

_________________
Моя кошка тоже сначала не любила пылесос, а потом ничего... втянулась.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 4 Январь 2008, 12:59:36 
оффтопик:
tentoys, Konyukhov, получился самопроизвольный каламбур: целился в кнопку [i], попал почему-то в [img]. Но как-то в тему так попал )))

Rustem,

karamba писал(а):
НЕкроссброузерно.


_________________
клетчатый!
Rustem Муж.
новый человек
75
Сообщения: 185
Зарегистрирован: 06.07.06
Сообщение Добавлено: 4 Январь 2008, 15:58:49 

karamba писал(а):
НЕкроссброузерно.



Karamba,


Rustem писал(а):
Но работать будет не везде.


_________________
Моя кошка тоже сначала не любила пылесос, а потом ничего... втянулась.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Январь 2008, 18:45:25 
karamba, :kruto:
Konyukhov, чтобы уж наверняка закончить эту новогоднюю вакханалию :) порекомендую Вам обратить внимание на моё первое сообщение. Могу чуть разъяснить: помещая картинки в див или спан, в зависимости от того, как Вы хотите расположить картинки внутри этого дива или спана, задавайте им соответствующие свойства. например (возможны варианты, это Вам для исключительно как идея):
Код:
.alignleft {
text-align: left;
padding: 10% 5%;
width:50%;
float:left;
}
.alignright{
text-align: right;
padding: 10% 5%;
width:50%;
float:right;
clear:right;
}


<div id="wrapper">
          <div class="alignleft">сюды втыкаем картинку 1</div><div class="alignright">сюды втыкаем картинку2</div>
</div>


Насчёт некроссбраузерности Вам сказали потому, что не Вы наверняка хотите писать код по правилам и с указанием доктайпа, и все картинки, которые Вы хотите выровнять (указав им, картинкам! "равняйсь налево/направо") исполнят Ваш приказ. Поймите, разделение оформления от содержания пойдёт на пользу не только Вашей задумке, но и Вам лично.
С Новым Годом.

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 4 Январь 2008, 18:55:10 
tentoys, спасибо большое, и Вас лично тоже с Новым годом :)

Но вопроса моего не решает. Потому как в это задаче ДАН ГОТОВЫЙ HTML... он - не моих рук творение, мне лишь нужно его правильно отобразить.

Можно конечно распарсить и перепарсить его серверным сценарием, но я этот вариант держу на последний случай.

_________________
Лишь одно в моём кармане - беспонтовый пирожок
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 4 Январь 2008, 18:59:57 
tentoys, проблема в том, что
Цитата:
HTML -то готовый у меня, его в CMS сделали, я там не хозяин.


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

хотя tentoys конечно дело говорит

_________________
клетчатый!
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Январь 2008, 19:21:39 
[quote="karamba"проблема в том, что
Цитата:
HTML -то готовый у меня, его в CMS сделали, я там не хозяин.

[/quote]
Не оспариваю, ибо читал исходное сообщение. Но ведь как-то в определённом месте нужны картинки, выставленные по левому краю, а в другом месте -- по правому? Значит есть определённый признак, удовлетворяя которому, происходит подобное размещение картинок? Вот там и нужно писать стили. А то как: в одном диве картинки и слева и справа... не очень понятно, как определяется их местоположение.

Цитата:
накатить на них такой стиль (через родительский DIV), чтобы к тем, у кого LEFT, применился один стиль, а для RIGHT - другой,


по-моему, плясать надо не от результата, а от условий для получения данного результата. Если не получается выделить определённые условия, то да, karamba прав, лучше исполнить однообразно.

А вобще, я в глянул на пример такого размещения картинок. :dandy:

_________________
Keep in touch. Andrey Alexeev.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 4 Январь 2008, 19:30:46 
tentoys, т.н. рич-эдитор, джаваскриптовый визивиг скорее всего какой-нить готовой (вероятно фришной) цмс-ки. Аплоадишь картинку, тычешь ей кнопку «слева»/«справа», а цмс уже генерит хтмл вида <img align="left"…
Иначе вопрос бы не поднялся. Да, Konyukhov?

_________________
клетчатый!
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Январь 2008, 19:50:48 
karamba, тогда по-любому, по первому сообщению топикстартера, нужен доступ к "нутру", чтобы стиль для таких картинок вбить. А вбить надо <img align="left" (пусть это остаётся на совести... на чьей-то совести) и добавлять style="padding:XXXpx; margin:XXXpx;" или что там ещё нужно?

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 4 Январь 2008, 20:02:59 
karamba, совершенно верно.

tentoys, к "нутру" доступ конечно есть. И пропарсить HTML и повтыкать там стили в зависимости от RIGHT и LEFT проблем нет. Но я хотел малой кровью отделаться.

_________________
Лишь одно в моём кармане - беспонтовый пирожок
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Январь 2008, 20:31:21 
Так вот Вам и выход: когда Вы тычете в кнопку "справа/слева" пусть в родительский эелемент добавляется text-align:right/left, а для картинок вставляется стиль, как я писал выше. Не?

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 5 Январь 2008, 09:33:01 
tentoys, не :beer: друг, есть доступ к "нутру" уже готового HTML. CMS не мой, мне лишь приходят в виде мыльных сообщений новости :) А мне их нужно прилично показаться на приличном сайте... Я говорю что могу уже готовый парсить, перед тем, как в базу ложить, или в то время, когда из базы вытаскиваю, на лету...

ВСЕМ: так каков вердикт, просто стилями, кроссбраузерно, никак?

_________________
Лишь одно в моём кармане - беспонтовый пирожок
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 5 Январь 2008, 14:26:10 

Konyukhov писал(а):
есть доступ к "нутру" уже готового HTML. CMS не мой, мне лишь приходят в виде мыльных сообщений новости :) А мне их нужно прилично показаться на приличном сайте... Я говорю что могу уже готовый парсить, перед тем, как в базу ложить, или в то время, когда из базы вытаскиваю, на лету...

ВСЕМ: так каков вердикт, просто стилями, кроссбраузерно, никак?


Ложить... мдя...
когда вытаскиваете из базы на лету -- прописывайте для родительского элемента стили (можно в самом родительском элементе, не обязательно отдельный css). Это будет просто стилями и кроссбраузерно. Ответьте: у Вас одновременно будут в одном диве лево и право расположенные картинки, в одном потоке? Вот когда ответите, в первую очередь себе, тогда и придёт к Вам понимание того, что надо сделать.

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 5 Январь 2008, 17:04:49 
tentoys, развернутый пример приведу, а то чувство у меня такое, что говорим о разном.

<p><img src="…" align="left" />бла бла бла</p>
<p><img src="…" align="right" />бла бла бла</p>

вот такой кусок кода мне приходит, к примеру. Я желаю сделать следующее: заключить этот кусок в <div id="mydiv">….</div> и на этот div прикрутить стиль, чтобы: для картинки с left задать отступы одни, а для right - другие.

_________________
Лишь одно в моём кармане - беспонтовый пирожок
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 5 Январь 2008, 19:25:28 

Konyukhov писал(а):
tentoys, развернутый пример приведу, а то чувство у меня такое, что говорим о разном.

<p><img src="…" align="left" />бла бла бла</p>
<p><img src="…" align="right" />бла бла бла</p>

вот такой кусок кода мне приходит, к примеру. Я желаю сделать следующее: заключить этот кусок в <div id="mydiv">….</div> и на этот div прикрутить стиль, чтобы: для картинки с left задать отступы одни, а для right - другие.



Я достаточно хорошо Вас понимаю. Вам надо прописать следующее:
<p><span style="float:left; padding: xxxpx;margin:xxxpx;"><img src="…" align="left" /></span>бла бла бла</p>

и

<p><span style="float:right; padding: xxxpx;margin:xxxpx;"><img src="…" align="right" /></span>бла бла бла</p>

В этом случае не надо описывать родительский div, в котором помещены абзацы текста с картинками, текст будет обтекать Ваши картинки, размещённые там, где Вам надо. Я подсказываю, что Вам надо написать, а как Вы решаете сами, например, сильные в программировании люди подскажут, как при наличии в строке буквосочетания "align="left"" или "align="right"", заменять Вашу строчку на приведённую мной. Или прописывайте код руками, если его не так много :) Это будет кроссбраузерно и по правилам. Потому, что как Вам уже намекали, картинки не могут выравниваться влево или вправо лишь по Вашей команде align.

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 5 Январь 2008, 20:36:49 
tentoys, Гм... нет, не понимаете :)

Дело в том, что ИЗНАЧАЛЬНО я спрашивал, как это сделать, НЕ ТРОГАЯ код, который я получаю. Я прекрасно представляю себе, как пропарсить код и добавить программно нужные отступы. Самый близкий к желаемому был ответ Rustem, но, "не кроссбраузерно". Более того, я представляю себе, как обойтись без серверного скрипта - использовать JS, который "накрутит" стили через DOM, но не дает покоя мысль - МОЖНО ЛИ ЭТО СДЕЛАТЬ ОДНИМ ОБЩИМ СТИЛЕМ

_________________
Лишь одно в моём кармане - беспонтовый пирожок
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 5 Январь 2008, 22:12:50 

Konyukhov писал(а):
МОЖНО ЛИ ЭТО СДЕЛАТЬ ОДНИМ ОБЩИМ СТИЛЕМ


Покой Вам: нет.

_________________
Keep in touch. Andrey Alexeev.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 13 Январь 2008, 20:35:02 
Если кому-нибудь еще интересно... решил данную задачу с помощью jQuery:

Код:
   $(document).ready(
        function()
        {   
         $("#center > p > img[@align='right']").addClass("img-right");
         $("#center > p > img[@align='left']").addClass("img-left");
      }
   );

_________________
Лишь одно в моём кармане - беспонтовый пирожок
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 14 Январь 2008, 08:00:56 
Konyukhov, не понял, это че каждый раз при загрузке страницы происходит? Не проще ли один раз в базу значения записать?

_________________
Frontend developer: IonDen.com
vashurin
новый человек
9
Сообщения: 129
Зарегистрирован: 21.06.06
Откуда: Самара
Сообщение Добавлено: 14 Январь 2008, 12:10:41 

Konyukhov писал(а):
Если кому-нибудь еще интересно... решил данную задачу с помощью jQuery:

Код:
   $(document).ready(
        function()
        {   
         $("#center > p > img[@align='right']").addClass("img-right");
         $("#center > p > img[@align='left']").addClass("img-left");
      }
   );


Konyukhov, а не проще ли в БД все править, а не на стороне клиента? И кстати, если уж решать с помощью JS, то вот еще вариант: http://ie7-js.googlecode.com/svn/test/index.html , при использовании этой библиотеки не каких дополнительных CSS классов придумывать не надо.

_________________
С уважение, Вашурин Владимир.
Konyukhov Муж.
новый человек
0
Сообщения: 166
Зарегистрирован: 10.12.06
Откуда: 89
Сообщение Добавлено: 14 Январь 2008, 14:40:25 
IonDen666, vashurin, c учетом того, что библиотека jQuery уже довольно активно используется на сайте... наверное не проще. Это ж в базу лезть надо, отслеживать новый контент, колбасить его (опять же, колбасить когда - ложатся туда они без моего участия, а отслеживать изменения по cron-у, например - это точно сложнее будет). А так, довольно просто.

_________________
Лишь одно в моём кармане - беспонтовый пирожок
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 26 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100