Гость Spinal Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 Добрый день. Хочу сразу перейти к описанию проблемы. Итак есть страничка допустим index.php к ней стиль style.css. К index.php в качестве главного меню я подключаю другую страничку menu.php делаю это так <{include file="menu.php"}>. Проблема заключается в том что после подключения странички она тоже начинает использовать style.css что мне совсем не нужно. Меню делаю с помощью программы Sothink DHTM Menu и вставляю код меню в menu.php после подключения оно начинает использовать style.css и выглядит просто ужасно Как же сделать так что бы menu.php не использовало style.css. Прошу помогите решить эту ппроблему, я уже два дня сижу с ней, просто сил уже ни каких нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Emotion Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 (изменено) Используй классы. Например: <html> <head> <style link="style.css"></style> </head> <body> <div class="class1">Тело документа</div> <?php <include file="menu"> ?> </body> </html> А в самом css-файле пропысываешь, например: .class1 {text-color:grey; background: url(back.jpg) repeat-x;} Тогда твоё меню будет выклядеть как нужно, а всё остальное как ты пропишешь. Просто у тебя реализуется наследование. Изменено 18 марта, 2006 пользователем Emotion Ссылка на комментарий Поделиться на другие сайты Поделиться
saniks Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 (изменено) В СSS я не силен, но могу предложить что тут можно выкрутиться следующим образом: Начало нового стиля обозначаем точкой, а за ней сразу вписываем имя нашего особого стиля. Например такого: .small {FONT-SIZE: 10pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif} Это обозначает, что теги, в которые включено "class="small" будут показывать нам свое текстовое содержимое именно в том виде, который прописан. Пример: <b><a href="________" class=small>текст</a></b>или <p class=small>текст</p>или <div class=small>текст</div> Пропиши для индексной страницы стиль таким образом. Emotion апередил Изменено 18 марта, 2006 пользователем saniks Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spinal Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 Используй классы. Например: <html> <head> <style link="style.css"></style> </head> <body> <div class="class1">Тело документа</div> <?php <include file="menu"> ?> </body> </html> А в самом css-файле пропысываешь, например: .class1 {text-color:grey; background: url(back.jpg) repeat-x;} Тогда твоё меню будет выклядеть как нужно, а всё остальное как ты пропишешь. Просто у тебя реализуется наследование. Дело в том что я делаю сайт на движке под названием xoops а у него в style.css есть вот такие: table {width: 100%; margin: 5; padding: 5; font-size: small} table td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} и именно из-за них портится меню а если их удаляю то таблицы самого движка отображаются не коректно. Можно ли каким-нибудь образом запретить style.css только в menu.php ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Emotion Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 (изменено) Поменяй в css-файле: Вместо table {width: 100%; margin: 5; padding: 5; font-size: small} table td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} пропиши .table {width: 100%; margin: 5; padding: 5; font-size: small} .td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} И там где у тебя используются таблицы и ячейки именно не в меню, а в остальной части документа, пропиши, например: <table class="table"> <tr> <td class="td">Содержимое таблицы</td> </tr> </table> И тогда правила, созданные тобой в css-файле, будут работать только для тех тегов, в котором они определены через class. Кстати, я немного неправильно написал в предыдущем сообщении: там нужно вместо "<style link="style.css"></style>" прописывать "<link rel="stylesheet" href="style.css">" Изменено 18 марта, 2006 пользователем Emotion Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spinal Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 Поменяй в css-файле: Вместо table {width: 100%; margin: 5; padding: 5; font-size: small} table td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} пропиши .table {width: 100%; margin: 5; padding: 5; font-size: small} .td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} И там где у тебя используются таблицы и ячейки именно не в меню, а в остальной части документа, пропиши, например: <table class="table"> <tr> <td class="td">Содержимое таблицы</td> </tr> </table> И тогда правила, созданные тобой в css-файле, будут работать только для тех тегов, в котором они определены через class. Кстати, я немного неправильно написал в предыдущем сообщении: там нужно вместо "<style link="style.css"></style>" прописывать "<link rel="stylesheet" href="style.css">" Дело в том что xoops очень большая система и прописывать таблицы в каждом файле я просто физически не смогу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Emotion Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 (изменено) Тогда сделай наоборот - пропиши классы только в менюшке. То есть везде правила будут браться из внешнего файла, а правила к менюшке пропиши либо в самой менюшке как inline-теги, либо через классы во внешнем файле либо в начале документа (между тегами <head><style></style></head>) Изменено 18 марта, 2006 пользователем Emotion Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spinal Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 Тогда сделай наоборот - пропиши классы только в менюшке. Извиняюсь за глупость :( Меню сделанное на Sothink DHTM Menu выглядит вот так: <table border="0" width="100%"> <tr> <td><script type="text/javascript" language="JavaScript1.2" src="_pgtres/stmenu.js"></script><p><!-- Sothink Widgets Begin, Do not edit it --> <script id="Sothink Widgets:_pgtres\38795,0504976852_PageletServer.DynamicMenu.pgt" type="text/javascript" language="JavaScript1.2"> <!-- stm_bm(["menu1026266982",640,"","_pgtres/blank.gif",0,"","",0,0,0,0,50,1,0,0,"","",0,0,1,1,"default","hand","_pgtres/"],this); stm_bp("p0",[0,4,0,0,0,2,1,0,100,"",-2,"",-2,90,0,0,"#7F7F7F","transparent","",3,1,1,"#999999"]); stm_ai("p0i0",[0," Explorer","","",-1,-1,0,"","_self","","","","",0,0,0,"","",0,0,0,0,1,"#FFFFFF",1,"#FFFFFF",1,"_pgtres/upline.gif","_pgtres/downline.gif",3,3,0,0,"#000000","#FFFFFF","#333333","#FFFFFF","bold 9pt Arial","bold 9pt Arial",0,0],80,0); stm_bpx("p1","p0",[1,4,0,2,0,4,1,0,100,"progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=1,motion=forward,enabled=0,Duration=0.50)",5,"",-2,60,2,6,"#CCCCCC","transparent","_pgtres/upline.gif"]); stm_aix("p1i0","p0i0",[0,"About Internet Explorer... ","","",-1,-1,0,"","_self","","","","",1,0,0,"","",0,0,0,0,1,"#FFFFFF",1,"#FFFFFF",1,"","_pgtres/downline.gif",3,3,0,0,"#FFFFFF"]); stm_aix("p1i1","p1i0",[0,"License Agreement..."]); stm_aix("p1i2","p1i0",[0,"","","",-1,-1,0,"","_self","","","","",1,0,0,"","",0,0,0,0,1,"#FFFFFF",1,"#FFFFFF",1,"",""]); stm_aix("p1i3","p1i0",[0,"Preferences..."]); stm_aix("p1i4","p1i0",[0,"Services"]); stm_aix("p1i5","p1i2",[]); stm_aix("p1i6","p1i0",[0,"Hide Explorer"]); stm_aix("p1i7","p1i0",[0,"Hide Others"]); stm_aix("p1i8","p1i2",[]); stm_aix("p1i9","p1i0",[0,"Quit Explorer"]); stm_ep(); stm_aix("p0i1","p1i0",[0," File ","","",-1,-1,0,"","_self","","","","",1,0,0,"","",0,0,0,0,1,"#FFFFFF",1,"#FFFFFF",1,"_pgtres/upline.gif"],60,0); stm_bpx("p2","p1",[]); stm_aix("p2i0","p1i0",[0,"New Window "]); stm_aix("p2i1","p1i0",[0,"Open File"]); stm_aix("p2i2","p1i0",[0,"Open Location"]); stm_aix("p2i3","p1i0",[0,"Close"]); stm_aix("p2i4","p1i0",[0,"Save As ..."]); stm_aix("p2i5","p1i0",[0,"Get Info"]); stm_aix("p2i6","p1i2",[]); stm_aix("p2i7","p1i0",[0,"Work Offline"]); stm_ep(); stm_aix("p0i2","p0i1",[0," Edit "],60,0); stm_bpx("p3","p1",[]); stm_aix("p3i0","p1i0",[0,"Cut"]); stm_aix("p3i1","p1i0",[0,"Copy"]); stm_aix("p3i2","p1i0",[0,"Paste"]); stm_aix("p3i3","p1i0",[0,"Clear"]); stm_aix("p3i4","p1i2",[]); stm_aix("p3i5","p1i0",[0,"Select All "]); stm_aix("p3i6","p1i0",[0,"Find ..."]); stm_ep(); stm_aix("p0i3","p0i0",[0,"","","",-1,-1,0,"","_self","","","","",0,0,0,"","",0,0,0,0,1,"#FFFFFF",1,"#FFFFFF",1,"_pgtres/upline.gif","_pgtres/upline.gif",3,3,0,0,"#FFFFFF","#FFFFFF","#FFFFFF","#FF0000"]); stm_ep(); stm_em(); //--> </script> <!-- Sothink Widgets End, Do not edit it --></p></td> </tr> </table> В каком месте нужно прописать классы ? В самой таблице ? или в другом месте ? Ещё раз извиняюсь Ссылка на комментарий Поделиться на другие сайты Поделиться
Emotion Опубликовано 18 марта, 2006 Жалоба Поделиться Опубликовано 18 марта, 2006 Знаю, что менюшки сделанные через специальные программы, очень много занимают и их код очень запутан. Сам особо не умею их создавать. Как раз у самого с этим проблемы - http://www.softboard.ru/index.php?showtopic=33262 :( Даже не знаю, что посоветовать. Я бы на твоём месте переписал меню самостоятельно или взял бы меню уже кем-то сделанное и изменил его под себя. Вот, например, хорошая статья с описанием - http://www.freeartists.ru/articles_web-tec....html#awt1-par3 Можно сделать нужное меню с использованием классов, которые разместить потом во внешнем файле (style.css) Ну а потом всё нормально будет отображаться. Меню будет придерживаться правил прописанных через классы, а вся остальная часть документа будет отображаться согласно общим правилам. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 19 марта, 2006 Жалоба Поделиться Опубликовано 19 марта, 2006 Ну вопервых, тут было предложено проставить класс у своих таблиц, если делать так: .table {width: 100%; margin: 5; padding: 5; font-size: small} .table td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} то class=table нужно прописывать только в тегах <table> Если бы я знал этот двиг я бы мог предложить что нибудь получше. А эта программа создаёт к меню свои стили? Если да, то можно сделать так, в представленном табой выше коде замени <table border="0" width="100%"> на <table border="0" width="100%" class=menu> а во всех стилях которые относятся к меню table замени на .menu а если table там нет, то пропиши .menu перед всеми параметрами отделяя пробелом. И ещё, поищи, может в двиге есть шаблоны построения страниц, там можно заменить html код как тебе нравится, в том числе прописать классы для стилей. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Spinal Опубликовано 19 марта, 2006 Жалоба Поделиться Опубликовано 19 марта, 2006 Ну вопервых, тут было предложено проставить класс у своих таблиц, если делать так: .table {width: 100%; margin: 5; padding: 5; font-size: small} .table td {padding: 0; border-width: 0; vertical-align: top; font-family: Verdana, Arial, Helvetica, sans-serif;} то class=table нужно прописывать только в тегах <table> Если бы я знал этот двиг я бы мог предложить что нибудь получше. А эта программа создаёт к меню свои стили? Если да, то можно сделать так, в представленном табой выше коде замени <table border="0" width="100%"> на <table border="0" width="100%" class=menu> а во всех стилях которые относятся к меню table замени на .menu а если table там нет, то пропиши .menu перед всеми параметрами отделяя пробелом. И ещё, поищи, может в двиге есть шаблоны построения страниц, там можно заменить html код как тебе нравится, в том числе прописать классы для стилей. Ничего не получается А нельзя ли каким-нибудь образом запретить style.css в самом файле menu.php или в параметре include ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Emotion Опубликовано 19 марта, 2006 Жалоба Поделиться Опубликовано 19 марта, 2006 А нельзя ли каким-нибудь образом запретить style.css в самом файле menu.php или в параметре include ? Мне такого способа не известно. И в литературе смотрел - ничего подобного не нашёл. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти