Как объеденить html и css?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Как объеденить html и css?

Сообщение kibernetics » 02.09.2009 (Ср) 18:22

Есть два отдельных файла *.html и *.css,
как можно, (желательно средствами vb) внедрить файл стилей в документ html?
нужно избавиться от файла стилей, при этом не нарушив разметку страницы.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Как объеденить html и css?

Сообщение Debugger » 02.09.2009 (Ср) 18:26

Добавляй в начало тег <STYLE> с содержимым CSS.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как объеденить html и css?

Сообщение kibernetics » 02.09.2009 (Ср) 20:39

дружище, подскажи как правильно оформить синтаксис, чтоб вставить стили, если у меня есть такой файл:
Код: Выделить всё
<html
   xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"
   xmlns:o="urn:schemas-microsoft-com:office:office"
   xmlns:v="urn:schemas-microsoft-com:vml"
   xmlns:msxsl="urn:schemas-microsoft-com:xslt"
   xmlns:w10="urn:schemas-microsoft-com:office:word"
   xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core"
   xmlns:WX="http://schemas.microsoft.com/office/word/2003/auxHint"
   xmlns:aml="http://schemas.microsoft.com/aml/2001/core"
   xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint"    
   xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
   xmlns:myutils="http://mycoolplace.com">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
      <link rel="stylesheet" type="text/css" href="style.css" />
      <Style>
@page Section1
{size:595.3pt 841.9pt;
margin:28.35pt 56.7pt 28.35pt 70.85pt;
mso-header-margin:0pt;
mso-footer-margin:0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}

      </Style>
   </head>
...

и надо избавится от внешнего css

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как объеденить html и css?

Сообщение iGrok » 02.09.2009 (Ср) 20:53

Меджу </Style> и </head> воткнуть ещё одну пару <style></style> и вставить между ними содержимое файла style.css.
После чего удалить <link rel="stylesheet" type="text/css" href="style.css" />.
label:
cli
jmp label

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как объеденить html и css?

Сообщение kibernetics » 02.09.2009 (Ср) 21:28

iGrok писал(а):Меджу </Style> и </head> воткнуть ещё одну пару <style></style> и вставить между ними содержимое файла style.css.
После чего удалить <link rel="stylesheet" type="text/css" href="style.css" />.



Огонь!
Вроде сработало.
Спасибо народ!

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как объеденить html и css?

Сообщение kibernetics » 02.09.2009 (Ср) 22:10

IGrok, а может поможешь разобраться с XMLDOM (DOMDocument), вот на примере этого задания, как с помощью DOM'a обработать мой html?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как объеденить html и css?

Сообщение iGrok » 02.09.2009 (Ср) 23:26

kibernetics писал(а):IGrok, а может поможешь разобраться с XMLDOM (DOMDocument), вот на примере этого задания, как с помощью DOM'a обработать мой html?

Ммм.. А что имеется в виду под "обработать"?
label:
cli
jmp label

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как объеденить html и css?

Сообщение kibernetics » 03.09.2009 (Чт) 8:13

ну, найти тег <link>< />, удалить его.
найти <head>, вставить перед ним мой кусок css.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как объеденить html и css?

Сообщение iGrok » 03.09.2009 (Чт) 13:50

kibernetics писал(а):ну, найти тег <link>< />, удалить его.
найти <head>, вставить перед ним мой кусок css.

Спец по работе с DOM из меня тот ещё, но для конкретного случая я бы сделал примерно так:

Код: Выделить всё
Dim dd As New DOMDocument, n As IXMLDOMNode, p As IXMLDOMNode
    dd.Load ("path_and_filename")

    Set n = dd.selectSingleNode("/html/head/link")  'найти <link .../>
    Debug.Print n.Attributes.getNamedItem("href").Text  'узнать путь к файлу стилей

    Set p = n.parentNode                            'выбрать родителя - это будет <head>
    p.removeChild n                                 'удалить <link .../> из родителя
    Set n = dd.selectSingleNode("/html/head/Style").cloneNode(False)    'Сделать копию <Style></Style>
    n.Text = ".test {width: 100%}"                  'Заменить её текст на свой (сюда нужно вставить содержимое файла)
    p.appendChild n                                 'Добавить созданную ветку к <head>

    dd.save "new_path_and_filename"                 'Записать всё в новый файл.


Это всё сейчас без доп. проверок на ошибки и прочего.

Если элементов <link rel="stylesheet"... /> несколько, нужно выбирать все, используя IXMLDomNodeList и selectNodes("/html/head/link"), после чего обрабатывать их в цикле.

Плюс у меня не получилось сходу создать нужный элемент с нуля, поэтому я просто скопировал уже существующий <Style> в документе.
Если его не будет - нужно будет создавать элемент <style></style>.

Вот как-то так.
label:
cli
jmp label

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Как объеденить html и css?

Сообщение kibernetics » 04.09.2009 (Пт) 2:11

iGrok, спасибо тебе добрый человещище!
начну развивать эту подсказку.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73

    TopList