ñåðûõ áóäíÿõ áûòèÿ,
Êòî-òî â ïîèñêàõ äîðîãè,
Ïëþíóë â äóøó. Âûòåð íîãè.
È óæå äàëå÷å áë…
Gordi
Ïðåæäå, ÷åì ïåðåéòè ñîáñòâåííî ê ðàçìåòêå íà îñíîâå position:fixed; ñòîèò íå ìíîãî îñòàíîâèòüñÿ íà position:absolute; åäèíñòâåííîå îòëè÷èå ìåæäó íèìè ñîñòîèò â òîì, ÷òî â ïåðâîì ñëó÷àå êîíòåéíåð ôèêñèðóåòñÿ â îáëàñòè îêíà áðàóçåðà è íå ïðîêðó÷èâàåòñÿ âìåñòå ñ äðóãèìè áëîêàìè, îñòàâàÿñü íå ïîäâèæíûì.
 îáùåì ñëó÷àå, èñïîëüçîâàíèå position:absolute; ÿâëÿåòñÿ ñàìûì ïðåäïî÷òèòåëüíûì ñïîñîáîì ðàçìåòêè ìàêåòà ñòðàíèöû, íî ïðîñòîòà îáìàí÷èâà, åñòü òóò è ñâîè ïîäâîäíûå êàìíè, î ÷åì äàæå âïîëíå ãðàìîòíûå è ñâåäóùèå â îáëàñòü âåðñòêè ëþäè, íå âñåãäà èìåþò äîñòàòî÷íî ÷åòêîãî ïðåäñòàâëåíèÿ.
Âîò îá ýòèõ íþàíñàõ è ïîãîâîðèì ñåãîäíÿ.
Ñëåãêà êîñíóâøèñü òåìû ðîñòà ïàðêà ìîíèòîðîâ ñ ðàçìåðîì äèàãîíàëè 19 äþéìîâ è áîëåå, à òàê æå øèðîêîôîðìàòíûõ. 17 äþéìîâ äàâíî äåôîëò. À òàê æå ïðîáëåì ñâÿçàííûõ ñ îòîáðàæåíèåì ñàéòîâ â íèõ, íà÷èíàåøü ïîíèìàòü, ÷òî ïðèøëî âðåìÿ çàäóìàòüñÿ î ðàçðåøåíèè ýêðàíà ìîíèòîðà, ÷òî ÿâëÿåòñÿ ñëåäñòâèåì, íåóìîëèìîãî òåõíè÷åñêîãî ïðîãðåññà, è î òîì, êàê è êàêèì îáðàçîì, ìèíèìèçèðîâàòü ïîãðåøíîñòè âèçóàëüíûõ ðàçíî÷òåíèé.
Ìíîãèå ñàéòû, ìàêåò êîòîðûõ çàòî÷åííûé ïîä 1024*768, î÷åíü ÷àñòî âûãëÿäÿò íå âàæíî íà áîëåå âûñîêèõ ðàçðåøåíèÿõ.
 ïåðâóþ î÷åðåäü ýòî îòíîñèòñÿ ê ìàêåòàì, ãäå äëÿ ðàçìåòêè ñòðàíèöû èñïîëüçóåòñÿ ôèêñèðîâàííûå åäèíèöû èçìåðåíèÿ. Æàëêîå çðåëèùå ïðîèçâîäÿò ñàéòû â äâå êîëîíêè ñ îáùåé øèðèíîé ÷óòü áîëüøå 700px. Âèñèò ïîäîáíîå ÷óäî îò öåíòðîâàííîå, à ïî áîêàì ñòîëüêî ìåñòà, ÷òî åùå îäíà êîëîíêà ñ òîé æå øèðèíîé, âëåçåò áåç íàïðÿãà.
Íå ìåíåå ïðîáëåìàòè÷íî âûãëÿäÿò øàáëîíû ñòðàíèö, ñâåðñòàííûå ðåçèíîé. Ó íèõ íåò ïðîáëåì ñ ïóñòûìè ìåñòàìè, íî îáëàñòü êîíòåíòà, à èìåííî îíà â îñíîâíîì ÿâëÿåòñÿ ýëàñòè÷íîé, ñòàíîâèòñÿ ñëèøêîì øèðîêîé è òåêñò, íàõîäÿùèéñÿ â íåé ÷èòàåòñÿ áåç ïðåæíåãî êîìôîðòà. À î òîì, êàê áðàóçåðû èçìåíÿþò ðàçìåð øðèôòà â îñîáåííîñòè «îïåðåòêà», àâòîð áëîãà íå åäèíîæäû âûñêàçûâàëñÿ.
Òóò, â íå âñÿêîãî ñîìíåíèÿ, íàäî îòäàòü äîëæíîå Microsoft, òî, êàê ýòî ñäåëàíî â IE7 äîñòîéíî óâàæåíèÿ.  ýòîì, êàê íåëüçÿ ëó÷øå ïðîÿâëÿåòñÿ çàáîòà î ïîëüçîâàòåëÿõ. Åñòü âîçìîæíîñòü âûáîðà, ÷òî íå ìîæåò íå ðàäîâàòü è ïðèÿòíî ñàìî ïî ñåáå, â îòëè÷èå îò òîé æå «îïåðåòêè» è ñàìîå ãëàâíîå îò ýòîãî íèêîìó íå áóäåò õóæå.
Ïðîìåæóòî÷íûå âàðèàíòû ýêñïåðèìåíòîâ íå ðàññìàòðèâàþòñÿ.
Íà ïåðâîé òåñòîâîé ñòðàíèöå àâòîð íàìåðåííî îòêàçàëñÿ îò àáñîëþòíûõ åäèíèö èçìåðåíèÿ â ïîëüçó îòíîñèòåëüíûõ, ïîëíîñòüþ îïðåäåëÿþùèõ ïîâåäåíèå ìàêåòà. Ê ÷åìó ýòî ìîæåò ïðèâåñòè, Âû ìîæåòå óáåäèòüñÿ, ïðîñòî ìåíÿÿ ðàçìåð øðèôòà ëþáûì äîñòóïíûì âàì ñïîñîáîì. Èç ýòîãî ñëåäóåò âûâîä, äëÿ âåðñòêè íà îñíîâå àáñîëþòíîãî ïîçèöèîíèðîâàíèÿ èëè position:fixed; ïðåäïî÷òèòåëüíåå èñïîëüçîâàòü ôèêñèðîâàííûå ðàçìåðû, â íåêîòîðûõ ñëó÷àÿõ áîëåå ýôôåêòèâíîé ïðåäñòàâëÿåòñÿ êîìáèíàöèÿ èç íèõ.
Îáðàòèòå âíèìàíèå, êàê âåäåò ñåáÿ IE6 ïðè óìåíüøåíèè ðàçìåðîâ îêíà áðàóçåðà. Âèçóàëüíî, øèðèíà îáëàñòè êîíòåíòà äîñòèãíóâ ãðàíèö âíóòðåííåãî áëîêà, êîòîðûé èìååò ôèêñèðîâàííóþ øèðèíó, íå ìåíÿåòñÿ, íî ïî ïîâåäåíèþ òåêñòà, ÷òî ðàñïîëîæåí íèæå, ÿñíî, ÷òî âñå ïðîèñõîäèò â ïîëíîì ñîîòâåòñòâèè ñ çàäàííîé äëÿ íåãî øèðèíîé â ïðîöåíòàõ.
Òà æå òåñòîâàÿ ñòðàíèöà, íî óæå ñäåëàííàÿ ñ èñïîëüçîâàíèåì ôèêñèðîâàííûõ ðàçìåðîâ.
Îñòàëîñü ðåøèòü ïðîáëåìó ðàçðåøåíèÿ. Ñðåäñòâàìè òîëüêî css, ýòîãî ñäåëàòü íåëüçÿ, ïðè ïåðåõîäå îò îäíîãî ê äðóãîìó íåîáõîäèìî ìåíÿòü íåñêîëüêî ïàðàìåòðîâ îäíîâðåìåííî. Íà òåñò-ñòðàíèöå òàêîâûìè ÿâëÿþòñÿ, äëÿ îáëàñòè êîíòåíòà - îòñòóï îò ëåâîé ãîðèçîíòàëüíîé ãðàíèöû îêíà áðàóçåðà è åãî øèðèíà, äëÿ êîëîíêè íàâèãàöèè - ïðàâûé îòñòóï è øèðèíà êîëîíêè.
Íàìåðåííî íå ãîâîðþ î âîçìîæíûõ äîïîëíåíèÿõ ê ýòîìó ñïèñêó, âñå áóäåò çàâèñåòü îò íàïîëíåíèÿ êîíòåéíåðîâ â ðåàëüíîì âîïëîùåíèè ìàêåòà.
Íè÷åãî êðîìå, êàê JavaScript, òóò ñîáñòâåííî, íå ïîìîæåò. Íå äîëãèé ïîèñê, êîíñóëüòàöèè ñ Ìàñòåðîì Lasto ïðèâåëè ê òàêîé êîíñòðóêöèè:
<head> <link type="text/css" href="css/1024.css" rel="stylesheet"> <script> w=1024; if (screen.width >= 1152) w=1152; if (screen.width >= 1280) w=1280; if (w > 1024) document.write( '<link type="text/css" href="css/'+w+'.css" rel="stylesheet">' ); </script> </head>
Ïîä÷åðêíó, àâòîðîì ñêðèïòà ÿâëÿåòñÿ Âàäèì. Ñêðèïò îïðåäåëÿåò ðàçðåøåíèå ìîíèòîðà ïîëüçîâàòåëÿ è â ñîîòâåòñòâèè ñ ýòèì îòäàåò íåîáõîäèìûå ñòèëè äëÿ òîãî èëè èíîãî ðàçðåøåíèÿ.
Êàê âèäíî, åñëè îòêëþ÷åí JavaScript, ñòèëè áåðóòñÿ èç îñíîâíîãî ôàéëà 1024.css, â íåì æå íàõîäÿòñÿ âñå ñòèëè, îïðåäåëÿþùèå ðàáîòó íå òîëüêî ðàçìåòêè ñòðàíèöû, íî è âñåãî ðåñóðñà.
 äîïîëíèòåëüíûõ ñòèëåâûõ ôàéëàõ - 1152.css è 1280.css ïðèñóòñòâóþò òîëüêî òå ïàðàìåòðû, êîòîðûå îïðåäåëÿþò ïîâåäåíèå ìàêåòà ïðè ñîîòâåòñòâóþùåì ðàçðåøåíèè.
Ñëåäóþùàÿ òåñò-ñòðàíèöà ñ ïîìîùüþ ñêðèïòà ïðèâåäåíà ïðàêòè÷åñêè â èäåàëüíîå ñîñòîÿíèå, âèçóàëüíûå ðàçíî÷òåíèÿ ïðè ïåðåõîäå îò îäíîãî ðàçðåøåíèÿ ê äðóãîìó ñâåäåíû ê ìèíèìóìó. Äëÿ áîëåå áûñòðîãî ïåðåñ÷åòà ðàçìåðîâ ìîæíî âîñïîëüçîâàòüñÿ ñëåäóþùèìè êîýôôèöèåíòàìè - äëÿ ïåðåõîäà ñ 1024 íà 1152 íåîáõîäèìî íóæíûé ïàðàìåòð ðàçäåëèòü íà 0.88, à ñ 1024 íà 1280 íà 0.8, îêðóãëÿÿ ïîëó÷åííîå çíà÷åíèå. Äàëåå, óæå ïî ìåñòó, íå çíà÷èòåëüíàÿ êîððåêòèðîâêà â òó èëè èíóþ ñòîðîíó. Òóò ñàìîå ãëàâíîå ñîõðàíÿòü ïðîïîðöèè, à ïîäãîíÿòü ñ òî÷íîñòüþ äî 1px, ïîâåðüòå, íå ñòîèò.
Îäíîé èç íàñóùíûõ ïðîáëåì ïðè èñïîëüçîâàíèè ìàêåòà íà îñíîâå àáñîëþòíîãî ïîçèöèîíèðîâàíèÿ ÿâëÿåòñÿ ðàçíàÿ âûñîòà êîëîíîê. Îäíî äåëî, êîãäà îáëàñòü êîíòåíòà âñåãäà äëèííåå êîëîíêè ñ íàâèãàöèåé, íî ñîâñåì èíà÷å âñå ñìîòðèòñÿ, êîãäà íàîáîðîò.
È âîò òóò-òî, ìàêåò íà position:fixed; â êàêîé-òî ìåðå ïîçâîëèò ðåøèòü è ýòó ïðîáëåìó, åñòåñòâåííî, ñ ó÷åòîì òîãî, ÷òî â çàôèêñèðîâàííîé êîëîíêå åñòü îãðàíè÷åíèå íà îáúåì íàõîäÿùåéñÿ â íåé èíôîðìàöèè. Íî îá ýòîì â äðóãîé ðàç.
P.S. Îáëàñòü ïðèìåíåíèÿ ñêðèïòà âåñüìà øèðîêà è íå èñ÷åðïûâàåòñÿ òîëüêî äëÿ ìàêåòîâ íà îñíîâå position:absolute; èëè position:fixed;. Ñ ó÷åòîì íþàíñîâ ïðèñóùèõ ìàêåòàì ñ float-íóòûìè áëîêàìè, ïîìîæåò âûêðóòèòüñÿ â ñëîæíûõ ñèòóàöèÿõ ñ ïðîáëåìîé îòîáðàæåíèÿ ïðè ðàçíûõ ðàçðåøåíèÿõ è çäåñü.
Ãîðèçîíòàëüíûé banner counters.php - width:494px;
| àïðåëü, 2008 | ||||||
| ïí | âò | ñð | ÷ò | ïò | ñá | âñ |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | ||||