Диплом жұмысы 5В060200 «Информатика»



бет5/18
Дата09.01.2022
өлшемі1,62 Mb.
#110549
түріДиплом
1   2   3   4   5   6   7   8   9   ...   18
Байланысты:
602-61 Тұрганбаев Зұлпыхар

1 CSS КОНЦЕПЦИЯСЫ
1.1 CSS технологиясының синтаксисі

CSS технологиясының пайда болуы. CSS каскадты стильдер технологиясы W3C Интернет консорциумы ұсынған «Web стандарттары» деп аталатын технологиялардың бірі болып есептеледі.

1990 жылдары барлық браузерлердің Web-сайттарды бейнелеуде өз стильдері болды. XML және HTML тілдері осы жылдары қарқынды дамыды және сол кездегі ақпаратты бейнелеу мен рәсімдеу үшін жеткілікті болды.

1990 жылдардың ортасында бағдарламашы мен Web-дизайнерлер үшін Web-сайттарды жобалауда бірыңғай ережелерден пайдалану қажеттігі туындады. Осылай HTML тілімен қатар CSS технологиясы пайда болды [10].

1994 жылы Хокон Виум Ли (Håkon Wium Lie, Норвегия) «каскадты стильдер кестесі» терминін ұсынды және Берт Боспен (Bert Bos) бірге осы технологияны дамытты. Бұл технологияның басқа стильдерден негізгі ерекшелігі – стильдерді сипаттауда мұрагерлік қасиетінен пайдаланылған, яғни бағдарламашы жаңа стильдерді құруда өзінің алдыңғы стильдерінен пайдалана алады.

Бұл технологияны одан әрі дамытуға W3C Интернет консорциумы қызығушылық танытып, 1996 жылы CSS1 спецификациясын ұсынды. Ал 1998 жылы өңделген және толықтырылған CSS2 спецификациясы шықты [11].

2011 жылы 7 июньда W3C консорциумы CSS2 спецификациясының орнына CSS 2.1 спецификациясын ұсынды. Қазіргі таңда Интернеттегі барлық Web-сайттар осы спецификацияға өту және қолдану қажеттігі туындап отыр.



Синтаксис. CSS 2.1 спецификациясының синтаксисі CSS стильдер кестесінің алдыңғы версияларын да өз ішіне алады. Сонымен қатар, CSS технологиясының келешекте құрылатын жаңа версияларында да осы синтаксистің ядросы сақталатыны анық, тек қана жаңа синтаксистік құрылымдар қосылуы мүмкін. Мұның барлығы Web-дизайнерлерге кез келген гипермәтіндік құжатты синтаксистік талдау мүмкіндігін береді. Дизайнерлер стильдер кестесін құруда өзіне таныс емес стиль қасиеттерін де пайдалана алады.

Белгілер (Labels). CSS стильдер кестесін лексикалық талдау деңгейіне қарасақ, ол белгілер тізбегінен тұрады. Белгілердің анықтамасында регуляр өрнектер Lex-стилінде жазылады. Сегіздік санақ жүйесіндегі кодтар ISO 10646 стандартымен анықталады. Төмендегі кестеде CSS спецификациясында кездесетін белгілер тізімін келтіреміз (кесте 1) [11].

Кесте 1 – CSS белгілері мен анықтамасы



белгі

анықтамасы

IDENT

{ident}

ATKEYWORD

@{ident}

STRING

{string}

INVALID

{invalid}

HASH

#{name}

NUMBER

{num}

PERCENTAGE

{num}%

DIMENSION

{num}{ident}

URI

url\({w}{string}{w}\) | url\({w}([!#$%&*-~] | {nonascii} | {escape})*{w}\)

UNICODE-RANGE

U\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?

CDO



CDC

-->

;

;

{

\{

}

\}

(

\(

)

\)

[

\[

]

\]

S

[ \t\r\n\f]+

COMMENT

\/\*[^*]*\*+([^/*][^*]*\*+)*\/

FUNCTION

{ident}\(

INCLUDES

~=

DASHMATCH

|=

DELIM

көрсетілген анықтамаларға жатпайтын символ

Төмендегі кестеде 1-кестеде көрсетілген фигуралық жақша ішіне жазылған макростар анықтамасын келтіреміз (кесте 2).

Кесте 2 – CSS макростары мен анықтамасы


макрос

анықтамасы

Ident

[-]?{nmstart}{nmchar}*

Name

{nmchar}+

Nmstart

[_a-z] | {nonascii} | {escape}

Nonascii

[^\0-\177]

Unicode

\\[0-9a-f]{1,6}(\r\n | [ \n\r\t\f])?

Escape

{unicode} | \\[^\n\r\f0-9a-f]

Nmchar

[_a-z0-9-] | {nonascii} | {escape}

Num

[0-9]+ | [0-9]*\.[0-9]+

String

{string1} | {string2}

string1

\"([^\n\r\f\\"] | \\{nl} | {escape})*\"

string2

\'([^\n\r\f\\'] | \\{nl} | {escape})*\'

Invalid

{invalid1} | {invalid2}

invalid1

\"([^\n\r\f\\"] | \\{nl} | {escape})*

invalid2

\'([^\n\r\f\\']|\\{nl} | {escape})*

Nl

\n|\r\n|\r|\f

W

[ \t\r\n\f]*

Лексика. Төменде синтаксистік ережелердің ядросын (грамматикалық сипаттау) келтіреміз:

stylesheet : [ CDO | CDC | S | statement ]*;

сипаттау : ережелер | at-ережелер;

at-ережелер : ATKEYWORD S* кез келген* [ бөлім | ';' S* ];

бөлім : '{' S* [ кез келген | бөлім | ATKEYWORD S* | ';' S* ]* '}' S*;

ережелер : селектор? '{' S* жариялау? [ ';' S* жариялау? ]* '}' S*;

селектор : кез келген+;

жариялау : DELIM? қасиет S* ':' S* мәні;

қасиет : IDENT;

мәні : [ кез келген | бөлім | ATKEYWORD S* ]+;

кез келген : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING

| DELIM | URI | HASH | UNICODE-RANGE | INCLUDES

| DASHMATCH | FUNCTION S* кез келген* ')'

| '(' S* кез келген* ')' | '[' S* кез келген* ']' ] S*;


Грамматикалық сипаттауда оқуға жеңіл болу үшін COMMENT белгісі қолданылмайды, өйткені түсініктемені кез келген жерде қолдануға болады. Сол сияқты, S белгісі бос орынды білдіреді. Бос орын ретінде "пробел" (U+0020), "азат жол басы" (U+0009), "қатарды ауыстыру" (U+000A), "каретканы ауыстыру" (U+000D) және "қағаз беру" (U+000C) символдары кездесуі мүмкін.

Мысалы: STRING белгісін қарастырайық. Ол {string} макросынан тұрады. Ол өз кезегінде {string1} немесе {string2} түрінде жазылады. Ал {string1} анықтамасы \"([^\n\r\f\\"]|\\{nl}|{escape})*\" түрінде берілген. Сол сияқты {string2} анықтамасы \'([^\n\r\f\\']|\\{nl}|{escape})*\' түрінде берілген т.с.с.

Осы ережелерден келіп шығатыны қатарды жазуда кез келген символды, яғни әріп, сан, арнайы символдарды (Unicode коды ISO 10646 кодына эквивалент) қолдануға болады. Сондай-ақ, қатар ' (тырнақша) немесе " (қос тырнақша) символдары ішіне жазылады. Қатарды жазуда тырнақша мен қос тырнақша символдарының аралас пайдаланып немесе олардың алдына \ (бэкслэш) символын жазуға да болады.

' "Информатика" кафедрасы'

" 'Информатика' кафедрасы"

"\"Информатика\" кафедрасы"


Көрсетілген мысалдың бірінші жолында тырнақша қолданылып, «информатика» сөзі қос тырнақша ішіне алынған. Екінші жолда осының барлығы керісінші орындалған. Ал үшінші жолда тек қана қос тырнақша қолданылған, тек қана ішкі тырнақшалар бэкслэш символымен ерекшеленген.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   18




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет