Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблема с style.css


Гость Spinal

Рекомендуемые сообщения

Добрый день.

Хочу сразу перейти к описанию проблемы.

Итак есть страничка допустим index.php к ней стиль style.css. К index.php в качестве главного меню я подключаю другую страничку menu.php делаю это так <{include file="menu.php"}>. Проблема заключается в том что после подключения странички она тоже начинает использовать style.css что мне совсем не нужно. Меню делаю с помощью программы Sothink DHTM Menu и вставляю код меню в menu.php после подключения оно начинает использовать style.css и выглядит просто ужасно :blush2: Как же сделать так что бы menu.php не использовало style.css. Прошу помогите решить эту ппроблему, я уже два дня сижу с ней, просто сил уже ни каких нет.

Ссылка на комментарий
Поделиться на другие сайты

Используй классы. Например:

<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;}

Тогда твоё меню будет выклядеть как нужно, а всё остальное как ты пропишешь.

Просто у тебя реализуется наследование.

Изменено пользователем Emotion
Ссылка на комментарий
Поделиться на другие сайты

В С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 апередил :blush2:

Изменено пользователем saniks
Ссылка на комментарий
Поделиться на другие сайты

Используй классы. Например:

<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 ?

Ссылка на комментарий
Поделиться на другие сайты

Поменяй в 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">"

Изменено пользователем Emotion
Ссылка на комментарий
Поделиться на другие сайты

Поменяй в 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 очень большая система и прописывать таблицы в каждом файле я просто физически не смогу.

Ссылка на комментарий
Поделиться на другие сайты

Тогда сделай наоборот - пропиши классы только в менюшке.

То есть везде правила будут браться из внешнего файла, а правила к менюшке пропиши либо в самой менюшке как inline-теги, либо через классы во внешнем файле либо в начале документа (между тегами <head><style></style></head>)

Изменено пользователем Emotion
Ссылка на комментарий
Поделиться на другие сайты

Тогда сделай наоборот - пропиши классы только в менюшке.

Извиняюсь за глупость :( Меню сделанное на 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>

В каком месте нужно прописать классы ?

В самой таблице ? или в другом месте ?

Ещё раз извиняюсь

Ссылка на комментарий
Поделиться на другие сайты

Знаю, что менюшки сделанные через специальные программы, очень много занимают и их код очень запутан. Сам особо не умею их создавать. Как раз у самого с этим проблемы - http://www.softboard.ru/index.php?showtopic=33262 :(

Даже не знаю, что посоветовать. Я бы на твоём месте переписал меню самостоятельно или взял бы меню уже кем-то сделанное и изменил его под себя.

Вот, например, хорошая статья с описанием - http://www.freeartists.ru/articles_web-tec....html#awt1-par3

Можно сделать нужное меню с использованием классов, которые разместить потом во внешнем файле (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;}

то class=table нужно прописывать только в тегах <table>

Если бы я знал этот двиг я бы мог предложить что нибудь получше.

А эта программа создаёт к меню свои стили? Если да, то можно сделать так, в представленном табой выше коде замени

<table border="0" width="100%"> на <table border="0" width="100%" class=menu>

а во всех стилях которые относятся к меню table замени на .menu

а если table там нет, то пропиши .menu перед всеми параметрами отделяя пробелом.

И ещё, поищи, может в двиге есть шаблоны построения страниц, там можно заменить html код как тебе нравится, в том числе прописать классы для стилей.

Ссылка на комментарий
Поделиться на другие сайты

Ну вопервых, тут было предложено проставить класс у своих таблиц, если делать так:

.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 код как тебе нравится, в том числе прописать классы для стилей.

Ничего не получается :bye1:

А нельзя ли каким-нибудь образом запретить style.css в самом файле menu.php или в параметре include ?

Ссылка на комментарий
Поделиться на другие сайты

А нельзя ли каким-нибудь образом запретить style.css в самом файле menu.php или в параметре include ?

Мне такого способа не известно. И в литературе смотрел - ничего подобного не нашёл.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...