Jump to content

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


Guest Spinal
 Share

Recommended Posts

Guest 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. Прошу помогите решить эту ппроблему, я уже два дня сижу с ней, просто сил уже ни каких нет.

Link to comment
Share on other sites

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

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

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

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

Edited by Emotion
Link to comment
Share on other sites

В С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:

Edited by saniks
Link to comment
Share on other sites

Guest Spinal

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

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

Link to comment
Share on other sites

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

Edited by Emotion
Link to comment
Share on other sites

Guest Spinal

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

Link to comment
Share on other sites

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

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

Edited by Emotion
Link to comment
Share on other sites

Guest Spinal

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

Можно сделать нужное меню с использованием классов, которые разместить потом во внешнем файле (style.css)

Ну а потом всё нормально будет отображаться. Меню будет придерживаться правил прописанных через классы, а вся остальная часть документа будет отображаться согласно общим правилам.

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

Guest Spinal

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...