У натовпо-“елітарному” суспільстві та у натовпо-“елітарних” громадських організаціях (рухах та політичних партіях) на програмно-адаптивний модуль покладається функція втілення в життя програми (концепції), одержуваної ним від предиктора-коректора, яку програмно-адаптивний модуль однак тільки використовує у своїй діяльності, не маючи права змінити її. Відповідно, зміни та доповнення, що неминуче вносяться в «спущену зверху» програму дій при її здійсненні, у загальному випадку розглядаються як антисистемний фактор. Це знаходить своє вираження у відомій приказці: «ініціатива караюча», - яка відбиває основний принцип відбору кадрів на керівні посади у структурах програмно-адаптивного модуля натовпо-“елітарних” товариств: просування нагору – виконавчих, але безініціативних – на перші ролі; здатних до ініціативи, але таких, що привчені стримувати свою ініціативність зі страху (піддаються шантажу за оголошенням та шантажу за умовчанням), узгоджуючи свою ініціативність із висловленими та не висловленими, але вгаданими ними побажаннями вищого начальства, - на другі ролі заступників та помічників; ініціативних, знаючих і які вміють працювати, але з бажаючих чи привчених підлагоджуватися під вищестояще начальство, - посади підлеглих, призначення яких - бути «хлопчиками для биття» у звичайних обставин і кадровим резервом керівників порятунку справи, якщо це потрібно, у разі, коли безініціативні керівники-виконавці та їх “стримані” заступники та помічники доведуть справу до межі краху.

Наша відмінність від натовпо-“елітарних” громадських організацій полягає, перш за все, в тому, що предиктор-коректор, який несе повноту концептуальної влади, у Концепції громадської безпеки структурно не локалізований, не відокремлений і перебуває як поза структурами громадських організацій, що підтримують Концепцію громадської безпеки в Богодержавії, так і всередині них.

Це - нормальне становище для будь-якої антитолпо-“елітарної” громадської організації, що випливає з самовладного за її природою характеру концептуальної влади, що виникає як громадська ініціатива тих людей, почуттям яких повна функція управління суспільною загалом значущості відкрита для сприйняття навіть у тому випадку, якщо вони і не охоплюють її своїм світорозумінням. p align="justify"> Громадська ініціатива виникає і діє на основі прямих особистісних відносин різних людей, внаслідок чого вона неминуче носить неформальний характер: організаційні форми щоразу породжуються самою діяльністю за обставин і багато в чому обумовлені особистісними особливостями робітників.

Цей суспільно-ініціативний характер предиктора-коректора, що охоплює всі етапи повної функції управління, якщо і не виключає повністю для імітаторів-провокаторів можливість очолити ту чи іншу структуру, то виключає можливість перекрутити характер діяльності цієї структури, оскільки імітатор-провокатор, який дорвався до адміністративної влади , неминуче зіткнеться з проявами реальної концептуальної влади, що виходить не зверху, а знизу. В результаті цього він або буде відсторонений від посади, або структура, яку йому вдасться очолити, зруйнується або обезлюдніє, і в ній не залишиться нікого, крім її номінальних керівників, що сидять на папках з різною звітністю про виконану "роботу".

Нам не слід боятися такого роду зникнення обезлюділих структур, а до їхньої загибелі нам не слід ставитися як до краху справи просування Концепції громадської безпеки у життя. Просто за неможливості подолати тенденцію до збочення діяльності структури, яку змогли очолити імітатори-провокатори, за неможливості усунути їхню відмінність від керівництва необхідно цілеспрямовано здійснити процес її ліквідації та відновлення діяльності нової структури під керівництвом інших координаторів .

Відповідно до цієї обставини керівники структур, що діють у руслі Концепції громадської безпеки, зобов'язані насамперед бути людьми, які відчувають перебіг життя і вдумливими, щоб відрізняти (і підтримувати міццю структурного управління) особисту ініціативу рядових учасників структур і нижче провідних керівників, у якій виражається концептуальна владність структурно нелокалізованого предиктора-коректора всіляких «системних шумів» безперервного вираження незгоди з кожною думкою всякого начальства і від наведених ззовні перешкод,що так чи інакше властиво діяльності всіх структур у суспільстві;Тим більше, що і прояви концептуальної владності, і системні шуми з наведеними ззовні перешкодами зовні можуть виглядати дуже схоже, а в ряді випадків незгода з думкою керівництва може бути концептуально владною ініціативою, а системним шумом і зовнішніми перешкодами.

У цьому необхідно розуміти, що концептуальна влада, явно чи неявно покладаючи ті чи інші структури здійснення концепції, породжує як писані, і неписані їх статути, висловлюючи у яких цілі концепції та їх досягнення. Якщо концептуальна влада в чомусь помилилася при побудові писаних та неписаних статутів і самих структур тієї чи іншої громадської організації та відкрила тим самим можливість діяти у цих структурах будь-кому з імітаторів-провокаторів на законних підставах, то посилатися на чинний писаний статут чи неписану традицію як джерело незаперечних повноважень імітаторів-провокаторів шкідливо реалізації концепції.

Через виявлені помилкові стосовно Концепції громадської безпеки писані та неписані статутні положення слід переступити в ініціативному порядку підтримки концептуальної самодисципліни та здійснення концептуальної влади у Богодержавії.

Відповідно до цього керівники структур повинні розуміти і діяти відповідно до того, що структури призначені не для задоволення їх особистісних “великокнязівських” амбіцій, а для узгодження в руслі Концепції громадської безпеки особистої ініціативи безлічі рядових учасників структур, серед яких виходить у всій її повноті вища внутрішньосуспільна влада - влада концептуальна, що діє за принципом, вираженим А.С.Пушкіним: «волхви не бояться могутніх владик, а княжий дар їм не потрібен» (пам'ятаєте, як далі? чи відчуваєте це в єдності життя свого внутрішнього та спільного всім зовнішнього світу) ?); а керівники структур забезпечують функціонування лише програмно-адаптивного модуля концепції та у Концепції громадської безпеки у Богодержавії повинні робити це у згоді з концептуальною владою, а не намагатися приборкувати та пригнічувати її із завзятістю, гідною кращого застосування: інакше їм – смерть (у всіх сенсах: від політичної до фізичної) від "коня" свого.

Керівники структур у Концепції суспільної безпеки - за призначенням своїм не диктатори, від яких тільки й може виходити легітимна для учасників структур ініціатива, а координатори цілком легітимної ініціативи всіх без винятку учасників структур у руслі Концепції. Керівники, як і всі інші учасники структур, мають право на ініціативу, але їх ініціатива за своєю якістю, що розглядається поза зв'язком із зайняття ними керівних посад, ні трохи не краща і не гірша за ініціативу інших учасників структур. І це повинні розуміти і жити у згоді з цим усі учасники Руху для того, щоб "князі" - великі та малі - не обросли опікунами, приставленими до них від чужих концепцій, і не розпустилися у своїй демонічній вседозволеності, а організаційні структури, які здійснюють Концепцію суспільної безпеки, не спіткала доля організаційних структур КПРС, які втратили більшовицьку дієздатність і стали антинародними.

Все, що сказано раніше на початку цього розділу про роль керівників партійних і державних структур, етичні норми, які вони повинні дотримуватися щодо рядових партійців і простих громадян, про ініціативу народних мас, критику «знизу» тощо. (крім згадки концептуальної влади та повної функції управління, що здійснюються в житті суспільства) так чи інакше багаторазово говорилося і в радянському минулому протягом усієї історії КПРС та Радянської влади. Але в усьому цьому мовчання обходилося таке:

Усі ці обставини, що виражають необхідність захисту самоврядування концептуально владного над собою суспільстваза повною функцією, заперечують морально-етичні та організаційні принципи та виражають їх статутні положення, властиві для громадських організацій та політичних партій натовпо-“елітарного” характеру, включаючи і РСДРП - РСДРП(б) - РКП(б) - ВКП(б) - КПРС-КПРФ на всіх етапах її існування.

Відповідно це вимагає при проведенні в життя Концепції громадської безпеки в Богодержавії верховенства інших принципів згуртування учасників громадських організацій, структури яких входять до її програмно-адаптивного модуля.

На сьогодні програмно-адаптивний модуль Концепції громадської безпеки представлений двома загальноросійськими структурами:

· Народним рухом “До Богодержавія” та

· Всенародною партією мирної волі "Єднання".

Це призводить до необхідності побудувати роботу народного руху та політичної партії у руслі спільної для них Концепції громадської безпеки у Богодержавії так, щоб вони взаємно доповнювали одна одну. А для цього необхідно визначитися у функціональній та організаційній відмінності громадського руху від політичної партії.

Для того, щоб не помилитися в їхньому функціональному розмежуванні, слід проаналізувати історію просування Концепції громадської безпеки в Богодержавії у суспільство протягом останніх десяти років від часу завершення першої редакції “Мертвої води” наприкінці червня 1991 р.

Весь цей час предиктор-коректор діяв і діє як громадська ініціатива, яка не потребує будь-яких незмінних організаційних форм і статутних документів, що регламентують посадові обов'язки та порядок взаємного підпорядкування та відповідальності її учасників (персональний склад яких через різні причини змінюється на протягом усього часу). Весь цей час предиктор доводив і доводить матеріали Концепції до відома як приватних осіб, і посадових осіб структур держави, громадських організацій і політичних партій як у Росії, і її межами . Керівництво жодної з них дотепер не заявило про прийняття Концепції громадської безпеки до виконання, не довело матеріали Концепції до керівництва підлеглих структур і до рядових учасників .

У процесі такого роду (просвітницької за її суттю) діяльності учасників предиктора виникло досить широке коло осіб, які, ознайомившись з матеріалами Концепції, виявили, що вона висловлює життєві інтереси їх самих, інших сумлінних трудівників та наступних поколінь, відкриваючи можливості до розв'язання кризи. якому прийшло людство до кінця ХХ століття під концептуальною владою біблійної доктрини та її господарів. Саме в таких противників біблійної доктрини виникла потреба забезпечити гарантований, швидкий та передбачуваний доступ до матеріалів Концепції як для самих себе, так і для тих, кого вони бажають ознайомити з ними. Так випадковий – не передбачуваний і не гарантований – доступ до матеріалів Концепції, на основі якого вони самі познайомилися з нею, перестав відповідати потребам соціального часу, породжується концепцією.І цілеспрямованими зусиллями таких людей були створені постійно діючі структури, що стійко забезпечують обмін інформацією серед прихильників Концепції громадської безпеки, що живуть у різних регіонах Росії та російськомовного зарубіжжя (цей обмін включає і контури прямих і зворотних зв'язків загальнонародного предиктора-коректора Концепції громадської безпеки, про що не слід забувати). Так виник нині юридично зареєстрований Народний Рух "До Богодержавія". Діючи з 1997 р., Рух “До Богодержавія” доказав свою ефективність як систему, що підтримує процес самоосвіти людей у ​​сенсі розвитку їх світогляду та світорозуміння, які сприяють їх переходу до людського ладу психіки та перетворення їх доцільними зусиллями культури суспільства.

При цьому слід особливо наголосити, що до теперішнього часу Рух не тільки не вичерпав свого потенціалу розвитку, але ще перебуває у початкових стадіях свого становлення та освоєння різнорідних сфер діяльності. У найближчому майбутньому воно, як і раніше, матиме значущість як громадський інститут, що забезпечує гарантований і швидкий доступ до матеріалів Концепції всім зацікавленим особам; забезпечує освоєння матеріалів Концепції кожним у спілкуванні з іншими її прихильниками, що дуже важливо для багатьох людей, яких педагогіка школи, що кодує, не навчила самостійно отримувати знання і навички з тексту, що вимагає міркування нових і переосмислення понять, що склалися раніше..

І це своє значення Рух зберігатиме, принаймні доти, доки доступ до Інтернету не буде настільки ж масовим, як нині доступ до перегляду телевізійних програм та прослуховування програм радіомовлення, або поки що система загальної та спеціальної освіти (у сенсі навчання володінню знаннями) і навичками) не перейде від кодуючої педагогіки (формує тип ладу психіки зомбі), до активної допомоги учням у їх самоосвіті (у сенсі формування людського ладу психіки як основи для самонавчання володінню знаннями та навичками в темпі виникнення особистісно та суспільно значущих потреб). Коли складуться такі суспільні обставини, ті потреби, які нині задовольняють структури Руху "До Богодержавія", задовольнятимуться в суспільстві іншими способами, внаслідок чого структури Руху в їхньому нинішньому вигляді стануть або нікчемними і тому зникнуть, або візьмуть на себе якісь інші суспільно. Значні функції і цим збережуть себе, але у якомусь іншому якості.

Але забезпечуючи гарантований доступ до матеріалів Концепції зацікавленим особам та доводячи ці матеріали за своєю ініціативою до відома не зацікавлених приватних та посадових осіб, не займалося та не займається політичною діяльністю у плані структурно оформленого систематичного, тобто. професійної участі у розробці та проведенні в життя політики держави на загальнодержавному та місцевому, регіональному рівнях,подібно до того, як цим займаються владні та опозиційні політичні партії та «безпартійні» чиновники державного апарату.

Іншими словами, вирішуючи ті завдання, які в минулому мали вирішувати структури суспільства “Знання”, Рух “До Богодержавія” не є ні політичною партією, ні «безпартійною» партією влади. Однак при цьому, коли Рух став досить численним і охопив багато регіонів Росії, у багатьох його учасників виникла потреба невпинно втілювати Концепцію в реальну політику російської державності як на рівні держави в цілому, так і на рівні регіонів РФ, місцевого громадського самоврядування та трудових колективах .

Виникнення цієї потреби виражає морально-етичну готовність якоїсь частини учасників Руху до такого роду фактично професійної (як мінімум у ранзі другої професії за сумісництвом з основною) суспільно значущої управлінської діяльності у державних установах, у приватному підприємництві, серед трудових колективів.

При цьому необхідно розуміти, що не всі учасники Руху несуть у собі готовність до такого роду діяльності та усвідомлюють відповідальність за неї по совісті перед Богом та іншими людьми не тому, що вони нібито погані, “другосортні”, а просто через те, що в Рух постійно включаються нові люди, які щойно проявили інтерес до Концепції, і тільки починають вивчати і освоювати її матеріали. У силу цієї обставини не може функціонувати як інструмент втілення ідеалів Концепції в реально політику держави. І це є принциповою властивістю Руху, що випливає з покладеної на нього функції - забезпечувати гарантований швидкий доступ до матеріалів Концепції зацікавленим особам, здебільшого з усталеними світоглядом, світорозумінням та алгоритмікою психіки, першочергове завдання яких, передусім іншого, - осмислення і осмислення життя та життя суспільства, перебудову своїх світогляду та світорозуміння, перетворення алгоритміки своєї психіки. Поки вони не здійснять кожен сам певного мінімуму (для кожного свого) такого роду роботи над собою, вони об'єктивно не здатні до непохитної концептуальної самодисципліни і до професійної політичної діяльності, що виражає її в руслі Концепції громадської безпеки.

Саме з обумовленої цією обставиною об'єктивної нездатності Руху вирішувати завдання, які у нинішніх державно-організаційних формах вирішують політичні партії, і виникає потреба певної частини його учасників (тих, хто здебільшого подолав кожну свою кризу світогляду та світорозуміння) в організації політичної партії як інструменту, призначеного для повсюдного професійного втілення ідеалів Концепції у повсякденну політику державності Російської цивілізації загалом і місцях, і навіть у різнорідне громадське самоврядування.

І ці дві функції:

· забезпечувати гарантований швидкий доступ до матеріалів Концепції заінтересованим особам;

· Бути інструментом втілення ідеалів Концепції в реальну політику державності Російської цивілізації в її історично сформованих на цей час формах,

Змішувати у функціональному навантаженні однієї структури шкідливо для втілення в життя ідеалів Концепції громадської безпеки. Шкідливо тому, що життя висуває несумісні критерії оцінки якості управління у діяльності Руху “До Богодержавія” та у діяльності політичної партії “Єднання”, що у свою чергу визначає і своєрідність принципів побудови Руху, що відрізняють його від своєрідності принципів побудови політичної партії.

· Кожна людина, яка щось дізналася про існування Концепції громадської безпеки і почула десь про існування Руху “До Богодержавія”, звернувшись до представників будь-якої з його структур особисто або поштою, отримала літературу, за якою вона може ознайомитися з Концепцією настільки широко і детально, наскільки вважатиме за необхідне. Що він робитиме після цього: чи вступить до Руху; не вступить, але житиме і діятиме в руслі Концепції; виступить її супротивником; залишиться байдужим; відразу здійняться до здійснення концептуальної влади в структурно не локалізованому Загальнонародному Предикторі-Корректорі СРСР, - все благо, бо Бог знає, хто і на що здатний і має право в його життєвих обставинах за його життєвого досвіду, і що і кому можна попустити, а кого і у чому слід підтримати;

· Учасники Руху працюють над концептуальною літературою самостійно; беруть участь у семінарах, які проводяться Рухом; при обговоренні серед своїх близьких, друзів та знайомих подій у житті Росії та зарубіжжя не соромляться і не бояться посилатися на матеріали Концепції та висвітлюють з її позицій ту проблематику, яка стала предметом обговорення (погано, якщо при цьому вони не висловлюють свою думку, надаючи співрозмовникам інформацію до роздумів, а прагнуть домогтися від оточуючих, по-перше, висловлення безумовної згоди з їхньою думкою і, по-друге, наступних дій відповідно до висловленої згоди всупереч реальному світогляду людей, уподібнюючись тим самим до цивільних і військових політпрацівників КПРС радянської епохи: це було б побудовою внутрішньо напружених систем відносин, у діяльності яких імітаційно-провокаційна складова стала б панівною);

· учасники Руху у спілкуванні з приватними та посадовими особами, діючи відповідно до морально-етичних норм Концепції, в змозі викликати хоча б разову, якщо не систематичну, будь-яку підтримку Руху з їхнього боку.

Якщо ця робота проводиться учасниками Руху праведно, то кількість учасників Руху та підтримуючих його прихильників, які з будь-яких причин не побажали оформити своє членство у Руху, зростатиме; морально-світоглядні позиції Концепції громадської безпеки у суспільстві розширюватимуться, її неформальний вплив посилюватиметься. Цього цілком достатньо для Руху.

Стосовно ж діяльності політичної партії, тим більше концептуально владної партії, систематичного досягнення такого роду результатів явно недостатньо. Безумовно, що все перераховане вище і йому супутнє за умовчанням у діяльності Руху,якоюсь мірою буде неминуче властиво і структурам партійних організацій,Однак у роботі це може мати лише супутній основний діяльності партії характер.

Основним же призначенням нашої політичної партії є систематична (тобто професійна, а не час від часу) різноріднадіяльність з організації громадського самоврядування (включаючи і державне управління загалом і на місцях) в руслі Концепції громадської безпеки як такої в умовах цілеспрямованої протидії політичних партій та політичних мафій, які підтримують у своїй діяльності несумісні з КГБ інші концепції устрою суспільного життя, а також в умовах різнорідного гомону та збуджуваної штучно противниками КОБ різнорідної активності тієї частини суспільства, яка все ще є натовпом, що живе за переказами і розмірковує за авторитетом особистостей і впроваджених у культуру різнорідних догм.

На думку ВП СРСР, таке формулювання призначення концептуально-владної партії краще, ніж список, в якому перелічені основні завдання, які партія має вирішувати у своїй діяльності. Такі завдання повинні перераховуватися навіть у Програмі концептуально владної партії, визначальною її стратегію на історично тривалу перспективу, а її планах діяльності цілком певний, дуже тривалий термін між послідовними з'їздами. Це дозволить мати завжди актуальну та відповідну обставинам програму дій,а не псевдопрограму партії, в якій перемішані ті завдання, які ще треба вирішувати у віддаленій перспективі, ті, які вже вирішені в минулому, але які “забув” викреслити черговий з'їзд, і ті, які вирішуються у сьогоденні. І в тому, що такого роду мішанина була властива післясталінським програмам КПРС, одна з причин застою та розвалу СРСР.


* * *

Набули чинності нові правила розміщення блоків AdSense, згідно з якими не можна показувати нагорі мобільних сторінок великі оголошення. Рекомендовано 300/100, заборонено 300/250. Звідси виникають проблеми із розміщенням адаптивних блоків для показу на мобільних пристроях та комп'ютерах (ноутах та інших десктопах). Сьогодні я поясню, як показувати різні розміри об'яв з одного адаптивного або звичайного рекламного блоку на різних пристроях.

Якщо у вас Joomla Mobile, то вставте оптимальні блоки в різні файли index.php, а з адаптивним шаблоном такі маніпуляції не пройдуть. Все вирішується просто, один код у вас буде показувати на різних пристроях оголошення відмінного розміру.

Адаптивний блок

Наводити десятки варіантів адаптивного блоку я не буду, зазначу один на прикладі блогу Zegeberg, далі все зрозуміло інтуїтивно.

Угорі у мене завжди стоїть банер або горизонтальний блок, поки нічого міняти не збираюся. Завдання зробити так, щоб на мобільних пристроях відображалися оголошення Google шириною на весь екран, а на робочому столі ширина блоку була 600 px. Висота скрізь влаштовує 100 px.

Приклад блоку

Для цього я зробив у коді такі зміни:

Змінено рядки

data-ad-format="horizontal"

style="display:inline-block;min-width:300px;max-width:600px;width:100%;height:100px"

Останній рядок вказує, що мінімальна ширина блоку 300 px (пам'ятаємо рекомендації Google), а максимальна ширина 600 px. Width:100% вказує, що між 300 і 600 px простір заповниться шириною. Простіше кажучи, якщо у відвідувача смартфон із шириною 360, то й блок він побачить такий самий. Висота мене влаштовує 100 px, вона є статичною для всіх оголошень. У рядку коду style можна грати з різними значеннями, пам'ятайте тільки, що вгорі мобільних сторінок не можна ставити великий блок.

Якщо ви копіюєте код, то не забудьте замість XXXXX вести свої ідентифікатори.

Виведення реклами через CSS

Складніше, якщо вам потрібно, щоб один блок показував різні оголошення по ширині та висоті у пристроях з різною роздільною здатністю. Це можливо, навіть ніхто не забороняє прописати хоч 10 розмірів для будь-яких екранів.

Правити треба код AdSense та стилі CSS. Почнемо з коду.

У стандартному коді змінюємо назву на унікальну. У мене це буде my_site_1. Назва треба поміняти у двох місцях коду, нижче місця виділено strong. Також перевірте, щоб у рядку Style стояло display: inline block .

приклад

(adsbygoogle = window.adsbygoogle || ).push(());

Тепер потрібно створити стилі CSS для класу my_site_1. Я у файлі стилів прописав так:

my_site_1 ( width: 320px; height: 100px; ) @media(min-width: 500px) ( .my_site_1 ( width: 300px; height: 250px; ) ) @media(min-width: 810px ; height: 250px; ) ) @media(min-width: 1000px) ( .my_site_1 ( width: 580px; height: 400px; ) )

В результаті на смартфонах у мене показує рекомендований Google блок 320/100 px, в iPhone розмір оголошення 300/250 px, а на десктопі великий блок 580/400 px. Через медіа-запит @media можете прописати розміри блоків детальніше, на мене цього вистачить.

Усі маніпуляції з кодом та стилями білі, жодних порушень правил користування системою Google AdSense немає.

Увага!

Фіксований розмір рекламного блоку в залежності від ширини екрану

У цьому розділі розповідається, як встановити розмір адаптивного рекламного блоку для екранів мобільних пристроїв і комп'ютерів. Це зможуть зробити навіть користувачі, які ніколи раніше не працювали з медіа-запитами в CSS і не вносили зміни до рекламного коду AdSense.

  • розмір рекламного блоку для екранів із шириною менше 500 пікселів – 320 x 100;
  • розмір рекламного блоку для екранів із шириною в діапазоні від 500 до 799 пікселів – 468 x 60;
  • розмір рекламного блоку для екранів шириною 800 пікселів або більше – 728 x 90.


. example_responsive_1 ( width: 320px; height: 100px; )
@media(min-width: 500px) ( . example_responsive_1 ( width: 468px; height: 60px; ) )
@media(min-width: 800px) ( . example_responsive_1 ( width: 728px; height: 90px; ) )





(adsbygoogle = window.adsbygoogle || ).push(());

Як застосувати цей зразок коду до вашого сайту

  • Створіть медійний рекламний блок в обліковому записі AdSense, вибравши параметр "Адаптивний" у розділі "Розмір оголошення". Збережіть з коду оголошення наступну інформацію:
    • ідентифікатор видавця (наприклад, ca-pub-1234567891234567);
    • ідентифікатор рекламного блоку у полі data-ad-slot (наприклад, 1234567890 ).
  • У зразку коду виконайте такі дії:
    • Замініть усі екземпляри example_responsive_1 на унікальну назву, наприклад Glavnaya_stranitsaабо glavnaya_stranitsa_123.

      Примітки:

      • Унікальна назва повинна містити лише англійські літери (A–Z), цифри та символи підкреслення та починатися з англійської літери.
      • Щоразу, адаптуючи цей фрагмент коду, необхідно використовувати нову унікальну назву.
    • Замініть ca-pub-XXXXXXX11XXX9 на свій ідентифікатор видавця.
    • Замініть 8XXXXX1 ідентифікатором рекламного блоку.
  • Визначте, яке місце на екрані повинен займати ваш рекламний блок.
    • Якщо вас влаштовують розміри, вказані у зразку коду, не змінюйте значення.
    • Якщо ви хочете встановити інші розміри, виконайте такі дії у зразку коду.
      • Замініть значення 320px та 100px шириною та висотою рекламного блоку, який ви хочете використовувати для екранів із шириною менше 500 пікселів.
      • Замініть значення 468px та 60px шириною та висотою рекламного блоку, який ви хочете використовувати для екранів із шириною в діапазоні від 500 до 799 пікселів.
      • Замініть значення 728px та 90px шириною та висотою рекламного блоку, який ви хочете використовувати для екранів із шириною 800 пікселів або більше.
  • Скопіюйте та вставте змінений код оголошення у вихідний HTML-код потрібних сторінок.
  • Розширені функції коду адаптивного рекламного блоку

    У наші дні для всього є фреймворки, і здається, що тільки ви розберетеся з одним, як на зміну йому прийде інший. Це особливо стосується CSS фреймворків для адаптивної сітки, і кожен називає себе "найкращим". Такий надлишок інформації вводить в замішання.

    Давайте повернемося на крок назад, зробимо глибоке зітхання, і запитаємо себе: чи справді ми збираємося використати всі 24 варіанти, і мільйон їх комбінацій, які нам надає “Цей Найкрутіший Фреймворк”? Найчастіше нам потрібне просте, гнучке рішення з обмеженою кількістю варіацій, з кодовою базою, яку ми можемо в будь-який момент розширити. Я хочу розповісти про чотири техніки реалізації CSS сіток, кожна з яких легко розширюється. Ось ці чотири способи:

  • Адаптивна сіткова розмітка №1 (з використанням негативних відступів)
  • Адаптивна сіткова розмітка №2 (з використанням box-sizing: border-box)
  • Адаптивна сіткова розмітка на основі табличного відображення
  • Адаптивна сіткова розмітка на основі flexbox
  • Я спрощу опис цих способів, і використовуватиму мінімальну кількість простого і зрозумілого CSS. Для кожного способу буде представлено демонстрацію на CodePen.

    Загальний CSS

    Перед тим, як заглибитись в опис кожного методу, погляньмо на загальні стилі, якими ми будемо використовувати у всіх прикладах. Я використовуватиму оголошення box-sizing: border-box для всіх елементів документа, а також додам клас.clearfix для очищення плаваючих блоків. Ось наш базовий CSS:

    /* скидаємо властивості */ *, *:before, *:after ( box-sizing: border-box; ) .clearfix:after ( content: ""; display: table; clear: both; )

    Спосіб 1: використовуємо негативні відступи

    Даний спосіб заснований на використанні негативних відступів створення блоків сітки з фіксованим відступом між блоками. Розмір від'ємного відступу варіюється від позиції блоку в сітці, а відстань між блоками залишається постійним. Давайте подивимося на розмітку:

    /* сітка */ ( margin-bottom: 20px; ) :last-child ( margin-bottom: 0; ) ( ) @media all and (min-width: 768px) ( /* all cols margin */ ( margin-right : 20px; ) :last-child ( margin-right: 0; ) /* робимо колонки адаптивними */ .col-1-2 ( float: left; width: 50%; ) .col-1-4 ( float: left ; width: 25%; ) .col-1-8 ( float: left; width: 25%; ) /* 2 span rows */ .row-2 ( padding-left: 20px; ) .row-2 :first- child ( margin-left: -20px; ) /* 4 span rows */ .row-4 ( padding-left: 60px; ) .row-4 :first-child ( margin-left: -60px; ) /* 8 span rows */ .row-8 ( padding-left: 60px; ) .row-8 :nth-child(4n+1) ( margin-left: -60px; ) .row-8 :nth-child(5n-1) ( margin-right: 0; ) .row-8 :nth-child(6n-1) ( clear: both; ) ) @media all and (min-width: 1200px) ( /* adjust width */ .col-1 -8 ( float: left; width: 12.5%; ) /* 8 span rows */ .row-8 ( padding-left: 140px; ) /* reset these... */ .row-8 :nth-child( 4n+1) ( margin-left: 0; ) .row-8 :nth-child(5n-1) ( margin-right: 20px; ) .row-8 :nth-child(6n-1) ( clear: none; ) /* and add this */ .row-8 :nth-child(1) ( margin-left: -140px; ) )

    Як видно, в рамках умов медіазапитів фіксоване значення відступу (назвемо його x) множиться на кількість колонок у рядку мінус 1 (n-1), і такий відступ застосовується до рядка зліва. Кожна колонка, крім останньої, має фіксований відступ праворуч (x). А першої колонки у рядку заданий негативний відступ (n-1)*x

    Недоліки та помилки

    Необхідність деяких розрахунках, до того ж спосіб стає непрактичний зі збільшенням кількості колонок. До того ж при збільшенні кількості кроків (кількість градацій медіазапитів, наприклад, на 1 колонку на рядок, 4, 8…), нам необхідно скидати CSS, і доводиться використовувати безліч математичних обчислень.

    Ще одна цікава помилка виринає, коли у нас багато плаваючих елементів. Загальна сума відступів у якийсь момент може скомбінуватись, і елементи перенесуться на новий рядок. Це можна бачити у випадку із 8 колонками. Якщо змінити умову останнього медіа-запиту на мінімальну ширину, менше 1200px, то можна спостерігати цей баг у дії. Пам'ятайте про це. Але цей спосіб має і свої переваги.

    Переваги та використання на практиці

    Справжня краса цього способу полягає у створенні комбінацій сітки фіксованого/змінного розміру. Як приклад представимо область основного вмісту змінної ширини, і додаткову бічну область фіксованої ширини. Наш HTML-код може виглядати приблизно так:

    Primary Lorem ipsum dolor... Secondary Lorem ipsum dolor...

    А CSS - так:

    /* розмітка */ .primary ( margin-bottom: 20px; ) @media all and (min-width: 600px) ( .container ( padding-right: 300px; ) .primary ( float: left; padding-right: 60px;) width: 100%; ) .secondary ( float: right; margin-right: -300px; width: 300px; ) )

    А ось і демонстрація коду в дії на CodePen:

    Спосіб 2: використовуємо box-sizing: border-box

    Цей спосіб використовує всю силу box-sizing: border-box. Так як ця властивість дозволяє додавати елементу поля без того, щоб їхнє значення впливало на загальну ширину елемента, ми все ще можемо досягти гнучкої сітки з фіксованими відступами. Але тут замість використання властивості margin ми будемо використовувати внутрішні поля, які будуть відігравати роль відступів між елементами сітки.

    Розмітка:

    Тут ми обійдемося без запаморочливої ​​математики, тому наш CSS буде дійсно простим. А ось і він, з можливістю розмітки до 8 колонок:

    /* сітка */ .row ( margin: 0 -10px; margin-bottom: 20px; ) .row:last-child ( margin-bottom: 0; ) ( padding: 10px; ) @media all and (min-width: 600px) ( .col-2-3 ( float: left; width: 66.66%; ) .col-1-2 ( float: left; width: 50%; ) .col-1-3 ( float: left; width: 33.33%; ).col-1-4 (float: left; width: 25%; ) .col-1-8 (float: left; width: 12.5%; ) )

    Негативні праві та ліві відступи кожного рядка потрібні для компенсації полів колонок. На зазначеній медіа-запитом мінімальній ширині наші елементи сітки приймають свою власну ширину і стають плаваючими усередині своїх контейнерів. Ви можете змінити цю ширину на свій розсуд, або вказати інші медіа-запити для різних груп елементів сітки.

    Розширюємо цей спосіб:

    Скажімо, ви б хотіли, щоб елементи.col-8 спочатку розбивалися по 4 на рядок, а потім по 8. Це досить просто реалізувати, якщо трохи подумати. Для вищенаведеної розмітки наш CSS буде виглядати так:

    @media all and (min-width: 600px) ( .col-1-8 ( float: left; width: 25%; ) .col-1-8:nth-child(4n+1) ( clear: both; ) ) @media all and (min-width: 960px) ( .col-1-8 ( width: 12.5%; ) .col-1-8:nth-child(4n+1) ( clear: none; ) )

    Спосіб 3: використовуємо табличне відображення

    Цей спосіб реалізує стару-добру табличну поведінку, але не ламаючи семантику чи структуру. У цьому методі видимі елементи відображаються за замовчуванням як блоки. Але за певних розмірах рядки сітки стають таблицями, а стовпці стають осередками таблиці. Погляньмо на розмітку - вона схожа на аналогічну з другого способу, але тут нам не потрібний.

    І, відповідно, CSS:

    /* сітка */ .row ( margin: 0 -10px; margin-bottom: 10px; ) .row:last-child ( margin-bottom: 0; ) ( padding: 10px; ) @media all and (min-width: 600px) ( .row ( display: table; table-layout: fixed; width: 100%; ) ( display: table-cell; ) /* set col widths */ .col-2-3 ( width: 66.66%; ) .col-1-2 ( width: 50%; ) .col-1-3 ( width: 33.33%; ) .col-1-4 ( width: 25%; ) .col-1-8 ( width: 12.5% ;))

    Цей метод може бути заплутаним, але в ньому є переваги. Для початку ми не порушуємо семантику використанням традиційних таблиць, і нам не потрібно підчищати плаваючі блоки. Колонки однакової висоти – легко. Комбінація фіксованих колонок та колонок змінної ширини? Нема проблем. Табличний варіант відображення привносить свої проблеми, і з усіх чотирьох способів він мій нелюбий. Незважаючи на те, що в деяких випадках він є непоганим варіантом.

    Спосіб 4: Flexbox

    Останній спосіб, який я опишу, використовує модуль flexbox. Згідно з MDN :

    CSS3 Flexible Box, або flexbox - режим макета, що надає можливість розміщувати елементи на сторінці так, що вони поводяться передбачувано на різних розмірах екрану та різних пристроях.

    Flexbox пропонує безліч різних можливостей, що дають нам потужний арсенал різних варіантів компонування елементів. Зробити модуль flexbox адаптивним простіше. Як і раніше, наша розмітка має такий вигляд:

    А тепер подивимося на наш новий CSS:

    /* grid */ .row ( display: flex; flex-flow: row wrap; margin: 0 -10px; margin-bottom: 10px; ) .row:last-child ( margin-bottom: 0; ) ( padding: 10px ; width: 100%; ) @media all and (min-width: 600px) ( /* set col widths */ .col-2-3 ( width: 66.66%; ) .col-1-2 ( width: 50% ; ) .col-1-3 ( width: 33.33%; ) .col-1-4 ( width: 25%; ) .col-1-8 ( width: 12.5%;

    В даному випадку для рядків необхідно виставити властивість display значення flex , а також вказати властивість flex-flow. Повне визначення та опис цих властивостей доступне в документації MDN до flexbox. Для медіа-запиту ми просто змінюємо ширину колонок, а flexbox робить для нас інше.

    Висновок

    Ми розглянули 4 способи створення адаптивних сіток на CSS, кожна зі своїми перевагами та недоліками. Не існує абсолютного способу реалізації тієї чи іншої дії, і я часто ловлю себе на тому, що виникають ситуації, коли один спосіб підходить краще за інший, або мені потрібно комбінувати кілька варіантів. Методи 1 і 2 - мої улюблені, і часто використовую в своїх проектах (основна розмітка методом 1, а адаптивні сітки методом 2).

    Як згадувалося раніше, третій спосіб має свої переваги, але я волію використовувати табличні макети тільки тоді, коли це необхідно. Спосіб 4 прекрасний, і я чекаю не дочекаюсь дня, коли я зможу перенести його на всі свої проекти. Flexbox набирає обертів, але він підтримується лише у IE10 і вище. Для нього є поліфіли, але я вважаю за краще обходитися без них. Хоча і сьогодні є сценарії, у яких flexbox буде чудовим рішенням (наприклад, у мобільних браузерах, де немає IE).

    Кожен із цих способів легко масштабуємо та розширюємо. Застосовуючи представлені ідеї, ви легко можете налаштувати свій власний адаптивний макет з потрібним розміщенням для елементів сітки з мінімальною кількістю CSS. Модуль CSS сіток на підході, але мине ще деякий час, поки ми зможемо його використовувати. Сподіваюся, вам сподобалася стаття, і вам тепер не так страшно використовувати сітки CSS.

    Зробити адаптивний шаблон сайту досить просто, але підтримувати елементи у збалансованому вигляді у всіх точках зміни шаблону – ось що є справжнім мистецтвом. Цей урок містить 5 методів для використання в CSS для адаптивного шаблону. Є дуже прості властивості CSS, такі як min-width, max-width, overflow та відносні значення, але всі вони відіграють важливу роль у розробці адаптивних дизайнів.

    1. Адаптивне відео

    Цей трюк CSS дозволяє вбудованому відео розтягуватися до встановлених меж.

    Video ( position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; ) .video iframe, .video object, .video embed ; height: 100%;

    2. Мінімальна та максимальна ширина

    Властивість max-width дозволяє встановлювати максимальну ширину елемента. Його треба використовувати, щоб запобігти розширенню елемента за певні рамки.

    Контейнер із властивістю max-width

    У наведеному нижче прикладі визначається розмір контейнера 800px, але встановлюється обмеження за розміром межу 90%.

    Container ( width: 800px; max-width: 90%; )

    Адаптивне зображення

    Можна зробити зображення з розміром, що автоматично змінюється, до максимальної величини за допомогою властивостей max-width:100% і height:auto .

    Img (max-width: 100%; height: auto; )

    Наведений вище код для адаптивного зображення працює в IE7 і IE9, але не діє в IE8. Для виправлення ситуації потрібно додати властивість width: auto. Можна використовувати умовне правило CSS спеціально для IE8 або нижче наведений трюк для IE:

    @media \0screen ( img ( width: auto; / * для ie 8 * / ) )

    Властивість min-width

    Властивість min-width протилежно дії властивості max-width . Воно встановлює мінімально можливу ширину елемента. Нижче наведено приклад використання властивості min-width, щоб поле введення не ставало надто маленьким при зменшенні масштабу.

    3. Відносні значення

    В адаптивному шаблоні використання відносних величин може суттєво спростити код CSS та покращити зовнішній вигляд дизайну.

    Відносні поля

    Нижче наведено приклад коментарів, у яких відносна ширина лівого поля використовується для створення відступу в деревоподібній структурі. Замість абсолютного значення px використовується процентне значення для наступного рівня в списку. У лівій частині малюнка видно, що на мобільних пристроях доступного простору елементів списку може стати недостатньо для нормального відображення у разі застосування абсолютних значень.

    Відносний розмір шрифту

    За допомогою відносних величин для розміру шрифту (em або %) можна просто домагатися відповідної зміни висоти рядків і розмірів відступів при адаптації шаблону під розмір екрана пристрою. Наприклад, розміри всіх пов'язаних елементів автоматично змінюються під час встановлення нових розмірів розміру шрифту для батьківського елемента.

    Відносні відступи

    Нижченаведений малюнок демонструє переваги використання відносного значення % для відступів. Блок зліва має незбалансований простір при застосуванні абсолютних величин px. Блок праворуч має відмінний вигляд із пропорційним заповненням змістом.

    4. Трюк із властивістю overflow:hidden

    Скасувати обтікання елемента можна за допомогою властивості overflow. Дуже простий та корисний спосіб. Можна скасувати обтікання текстом попереднього елемента та зберегти структуру змісту.

    Властивість max-width допомагає розмістити текст, що не ламається (наприклад, довга адреса URL) в кілька рядків замість одного.

    Break-word (word-wrap: break-word; )