Содержание

Ошибки в отношениях, которые ведут к расставанию

  1. 11 женских ошибок в отношениях, которые стоит избегать.

Ну, что начнем!

Ошибаются в отношениях все, вообще все — это нормально.

Нет отношений — нет ошибок. Нет ошибок — нет отношений.

И есть действительно дурацкие ошибки в отношениях, которые портят вообще все. Сегодня я тебе о них и напишу.

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

Когда люди действительно любят друг друга, они смогут пройти через все испытания своей жизни. Но желательно при этом не допускать ну совсем уж явные ошибки в любви, которые совершает, наверно, каждый человек иначе или так.

Но самое дерьмовое жить с этими ошибающимися действиями, медленно разрушая вашу любовь. Давай-ка мы это исправим.

То есть, я хочу написать не только о самих ошибках в отношениях, но и подкрепить их эффективными противодействиями, что сделает ваши отношения качественнее.

1. Ты себя запустила.

Ой, вот только не нужно сейчас думать, что это не про тебя.

Мне девочки на курсе показывают свою фигуру. Которую я оцениваю. Но я не просто оцениваю, но и веду собственную статистику.

Хочу начать с того, что те, кто проходят мой курс — это те девушки, которые работают над собой, переживают за то, как они выглядят, чаще всего примерно 80% из них занимаются спортом, бегом или фитнесом. Как правило, они делают это неправильно.

И большинство из них все же запущены.

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

И вот что я заметил. По моим собственным подсчетам около 70% выглядят не очень. Из них большая часть выглядят ну совсем плохо. 30% выглядят хорошо, но при этом далеко не идеально. И только 5% имеют не побоюсь этого слова — охуенную фигуру.

Часто, раздевая красивую девушку иногда в голову ударяет самоуверенность, видя ее недостатки (Не так уж она и хороша на самом-то деле. )

Чаще всего девушки с неплохой фигурой имеют плохой тонус мышц, не хватает спортивной ухоженности, есть какие-то мелкие, но броские недостатки, которые легко можно было бы исправить, но эх… Лень. И так сойдет. Твой мужчина говорит, что и так красивая и буду тебя любить вечно (ха-ха-ха!). Но вот порнушку он смотрит с выпученными глазами. Но вот других дам он жрет глазами (пока ты не видишь). Но вот ты сама научилась смотреться в зеркало ровно так, чтобы не видеть свои недостатки. Или я не прав? Сходи ка посмотри на себя под другим углом и ты поймешь как я прав!

Просто мужчина не хочет тебя обижать. Мало кто может сказать правду — слушай, ты обрюзгла! Ну ка быстро иди в спортивный зал и сгоняй вес. Ты мне такой не нравишься!

Ну так не принято. Поэтому мужику проще сказать ровно такую же фразу, которую он говорил своей бывшей. У тебя классная фигура и я тебя буду любить и такой. Бред! Не будет, поверь.

Поэтому. Убери попкорн в мусорное ведро. Откажись от сахара, мучного, жирного. И питайся осознанно. И не забывай, что классная задница всегда выигрывает любое пари у обвисшей.

2. Ты зависима от мужчины

Именно по этой причине я научил свою жену зарабатывать самостоятельно. Чтобы она была автономной, то есть не зависела от меня.

Именно как только мои ученицы перестали зависеть от мужчин, мужчины начали на них более пристально смотреть, да и качество мужчин сразу же поменялось!

Ибо зависеть от мужчины — это самая идиотская ошибка в отношениях. Пока ты зависима, ты в слабой позиции. Хотя, стоп!

Все же говорят именно это. Ты должна быть слабой. Ты же женщина.

Так говорят психологи, так говорят коучи, боже мой, да об этом пишут даже в книгах. Я молчу про журналы и дешевые статейки. А еще об этом говорят мамы. А еще об этом говорят слабые мужчины. Потому что слабаки не потянут независимую девочку. Независимую потянет только волк. Потому что он будет ее уважать.

Потому что она без него не пропадет. Она не у его ноги. У нее есть гордость.

Запоминай. Любая зависимость делает тебя слабее. Алкогольная или наркотическая зависимость делает слабее? Да. Зависимость от мнения других людей делает тебя слабее? Да. Зависимость от абьюзных отношений делает тебя слабее? Да! Любая зависимость, в том числе и от мужчины делает тебя в разы некачественнее.

У мужчины в голове рождается уверенность в том, что ты никуда не денешься, что ты сама ни на что не способна. Ну, кроме домашних дел и твоей отстойной работы. В твоей голове рождается страх — что я буду без него делать?

В это время топор перерубает сердце пополам. О реально сильной любви тут речи уже быть не может.

Поэтому вылезь из кожи на хрен и стань более независимой. Научись зарабатывать сама. У тебя должно быть свое собственное жилье. У тебя должны быть свои мысли. Свое мнение. У тебя должен всегда быть выбор!

Когда нет дозы героина у наркомана, у него всегда рождается страх, что ее и не будет. И он согласится на все условия, лишь бы эту дозу достать. Когда ты зависишь от мужчины, то мужчина будет полностью тобой управлять. Но поверь — это продлится недолго. Зависимая и управляемая девушка становится полностью неинтересной и мужчина переключается на что-то более интересное.

3. У тебя нет плана побега.

Нет плана — нет уверенности в завтрашнем дне. План побега — это то, что ты будешь делать, если отношения начнут разваливаться.

Если, к примеру, вы оба понимаете, что отношения катятся в задницу, то что обычно просходит? Мужчина думает так. Ладно, что-то пошло не так. Меня все не устраивает. Нужно заканчивать. Зарегистрируюсь на Тиндере, потрахаю других. Найду другую.

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

В это время у тебя будет куча эмоций. Ты себя не контролируешь. Ты начнешь совершать неэффективные действия, говорить неправильные слова. Чаще всего начнешь пытаться все уладить.

В это время в мужской голове — достала. Теперь точно не хочу быть с ней!

В твоей голове — нужно пытаться все вернуть! Да! Точно! Вернуть! Чтобы было все как прежде. Эй, давай все обсудим. Мы можем все исправить. Что я делала не так?

И все. Ошибка в отношениях совершена и отношения уже глубоко в прямой кишке. Часто такие отношения вернуть бывает невозможно, потому что ты показала мужчине, что у тебя нет плана побега.

А чтобы было, если бы у тебя был план побега? Вернемся к нашим мозгам.

В его голове — Ладно, что-то пошло не так. Меня все не устраивает. Нужно заканчивать. Зарегистрируюсь на Тиндере, потрахаю других. Найду другую.

В твоей голове — ладно, ок. Черт с тобой. Взяла вещи и ушла. К другому или в свое пиздатое одиночество.

В его голове — охуеть. Ей совсем пох? У нее вообще были чувства ко мне?

В твоей голове — план на будущее. Развитие проекта. Более сильный мужчина. Переезд в другую страну.

И никаких эмоций. У тебя есть план побега. Ты его совершила и ты спокойно живешь дальше без него. Вот когда бывшие точно возвращаются. Обязательно прочти эту статью!

В его голове. Скучаю. В руках телефон и просмотрт твоего профиля.

Разницу чувствуешь? Чувствуешь разницу?

4. С тобой скучно.

Слушай внимательно. Читай придирчиво.

Если тебе скучно с самой собой, то скучно с тобой. Все. Пока.

5. Ты не горишь.

Если ты не горишь каким-то делом, то ты либо потухшая свечка в заброшенной церкви, либо ты горишь отношениями. Что делать не столь эффективно.

Ибо мечта и цель на вкус весьма приятнее, чем вкус даже самых ярких отношений. Потому что в отношениях мужчина может отрастить пивной живот, отлизать смачно любовнице, да и вообще — мужчина сегодня есть, а завтра тебе станет опостылым.

А вот мечта нет.

А вот цель нет.

Я знаю, что многие женщины горят отношениями просто по одной причине. Ты можешь проверить это сама, если ты ими горишь или опросить подруг, которые помешаны на мужчине.

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

Потому что это не то, о чем ты всегда мечтала. Ты мечтала быть певицей, бизнес-леди, победить в конкурсе красоты или создать свою линию косметики.

А цель и мечта — мужчина и отношения с ним будут так или иначе звенеть пустотой у тебя внутри. Тебя сначала ждет разочарование. Потом смирение. Что жизнь прошла, а ты гналась за тем, что тебе вдолбили в голову (выйди ты уже замуж и живи спокойно!!!)

Поэтому гори своими идеями. Не забрасывай их, потому что это профилактика. Мужик станет в итоге трусом и ничтожеством или убежит к другой и все твое горение пойдет насмарку. А жизнь прямиком коту под хвост.

Да и я заметил, что мужчины любят сильнее тех, кто горит не отношениями. Зачем к этому еще что-то добавлять?

6. Ты не знаешь эрогенные зоны мужчины.

На своей странице в инсте я как-то в сторис спросил у девочек — эй, а знаете ли вы мужские эрогенные зоны?

И мне начали писать — член, мочка уха, задница, плечи, расстояние между анусом и членом, соски и так далее. Более-менее продвинутые девочки написали — мозг.

А вот ты, читающая эти строки, — знаешь ли ты эрогенные зоны мужчин?

Мой ответ вызвал шквал сердец и поцелуев.

Поэтому ты должна тоже это знать.

У мужчины всего одна эрогенная зона — это его девочка. Это кайф его девочки. Чем сильнее она кайфует, тем сильнее возбуждается мужчина. При этом важно, чтобы мужчина понимал, что источником ее кайфа является не он. А ты сама.

Ты живешь и кайфуешь, радуешься каждому дню. Ты занимаешься сексом как в последний раз. Бурно и нон комплекс. Ты транслируешь свой кайф всем окружающим. И люди хотят того же. Просто жить и радоваться каждому мгновению. Но они не умеют это делать. Но видя, как ТЫ это делаешь, черт, это так возбуждает! Это так заводит!

Тогда сразу все эрогенные зоны трепещут, как полоумные бабочки внизу живота, стимулируя экстаз полового органа.

Когда ты спишь с мужчиной и ты забиваешь на все и полностью предаешься собственному кайфу, то это заводит круче любого языка, можешь не сомневаться.

Поэтому отключай голову в отношениях, кайфуй от каждого мгновения своей жизни. Скоро нас закопают.

7. Ты предсказуема.

Ну да. Обычно предсказать поведение, мысли женщины — проще простого.

Но это половинка беды. Это половинка ошибки в отношениях между мужчиной и женщиной. Хуже другое. Когда ты сама понимаешь, что тебя читают на раз два. Но это еще не все. Потому что есть вообще самое дно. Когда ты понимаешь, что ты предсказуема и ничего с этим подаеть не можешь.

Поэтому:

  1. Договорись о встрече, об ужине в ресторане со своим мужчиной и благополучно не приходи.
  2. Скажи своему парню — я пойду в магазин за овсянкой и вернись лишь под утро (трубку можешь взять, сказать, что встретила подругу, занесло в бар, все давай пока, позвоню позже).
  3. Забей на то, что тебя обычно бесит. Чтобы мужчина думал — бля, сейчас начнется! А ты бац! И реагируешь вообще иначе. Найди такую ситуацию и сыграй ее на все сто.
  4. Возьми мужчину за руку в супермаркете. Приведи его к вину или шампанскому. Поверни его к себе лицом. Одновременно с этим медленно двигай бутылку с прилавка, чтобы она упала, разбилась об пол и разбрызгала все на хер вокруг. Он начнет озираться по сторонам, не реагируй. Просто смотри на него и кайфуй от реакции. Заплатите за разбитую бутылку.
  5. Возьми его машину и скажи, что сама заберешь его с работы. Когда подъедешь к его работе, полностью раздеваешься и сидишь обнаженная за рулем, смотришь строго вперед. На лицо ноль эмоций. Можешь припарковать машину так, чтобы тебя окружающие не видели. Он приходит и видит тебя голой. Твоя цель — чтобы он подумал, что ты обнаженная ехала за рулем по дороге за ним на работу. Пожми плечами и скажи — а что тут такого?

Смысл всего этого — играть. Не для него. Хотя немного и для него даже. Процентов 20%. И процентов 80% для себя любимой.

Будет что в старости вспомнить, пиратка!

Короче говоря. Моя цель не только данной статьи, но и блога, но и вообще моего пиратского имени — твоя жизнь должна быть в кайф. Это правило номер один и у этого правила неприлично большой член, который сосут все остальные правила.

8. Ты не Секс Леди.

Секс в отношениях играет важнейшую роль и в нем часто совершаются одни типичные ошибки. Я писал об этом в книге Sex-Леди. И там же писал, как нужно правильно вызывать сексуальные эмоции.

Обычно как это делается? Обычно играется дурацкий сценарий из интернета, типа того, что он приходит домой, он видит записку — жду тебя в спальне. Заходит, а ты обнаженная лежишь на кровати.

Кроме как скуки и уныния, внутренней усмешки это, конечно, ничего не вызывает.

Чтобы ваши отношения были качественными, вы любили друг друга, у вас ВСЕГДА, я повторяю — всегда! Всегда кипела страть, то нужно выбивать мужчину из колеи сексом с ним.

Не буду расписывать суть книги — но готовься. Во время чтения этой книги ты станешь очень. Влажной.

9. Мужчина видит тебя только своими глазами.

Запомни. Как только мужчина начинает тебя видеть только своими глазами — он к тебе теряет интерес. Всегда. Всегда. Всегда так случается! Более того, когда он видит тебя только своими глазами, то и ты начинаешь видеть себя только его глазами. А это прям ошибка глобального характера.

Представь перед собой красивую картину. Ты на нее смотришь, дух захватывает! Но что будет, если на эту картину смотреть каждый день?

К ней привыкаешь, ее перестаешь замечать, восхищения нет, даже иногда и смотреть то на нее не хочется. Бесит! Это очень мощная ошибка отношений, которая всегда ведет к мужскому безразличию.

А что будет, если тебе часто будут говорить — ммм, какая картина. Можно я у тебя ее спизжу? Продай мне ее! Или будут попытки воровства ее. Или каждый раз все будут тебе звонить, писать, продолжая говорить, какая же классная у тебя все таки картина?

Мужчина должен видеть тебя не только своими глазами, детка. Но и чужими.

Он должен знать, что тебя хотят. Что ты интересна, нужна и вкусна другим. Если ты будешь это скрывать — он сформирует свой взгляд на тебя и передаст его тебе.

Загонит тебя в его глазную реальность.

Поэтому ты должна жить так, чтобы:

  • Тобой восхищались вслух и желательно при нем. Это поднимет, кстати, твою самооценку.
  • Тебя жрали глазами. Чтобы он это видел.
  • Периодически честно рассказывать о том, что к тебе подкатывали и делали комплименты, пытались познакомиться. Не придумать это. А жить так. Подчеркну это!

Тогда он будет смотреть на тебя глазами других мужчин, видеть в тебе всегда прекрасное, не забывать о твоих плюсах и забивать на неисправимые минусы. Да и ты сама будешь кайфовать от этого.

10. Ты стараешься для него больше, чем для себя.

Когда ты хочешь нравиться мужчине — это нормально и может быть даже хорошо.

Но с одной очень важной оговоркой. Ты должна в первую очередь нравится самой себе. То есть, стараться ДЛЯ СЕБЯ БОЛЬШЕ, ЧЕМ ТЫ СТАРАЕШЬСЯ ДЛЯ НЕГО.

Потому что альтруистам говорят спасибо и потом используют их как латексную резинку. А эгоистов любят по настоящему.

Знаешь почему?

Потому что эгоисты учать любить себя и свою жизнь. А все бы хотели этого. Любить себя и свою жизнь.

И когда ты эгоистка, тогда тебе начинают смотреть в рот, прислушиваться к твоим словам. Вникать в суть твоих фраз. МАШИНАЛЬНО ПОДРАЖАТЬ ТЕБЕ. А когда ты машинально, автоматически подражаешь кому-то — этот человек тебя цепляет. Даже если до этого он был законченным альтруистом.

Хватит быть волонтером для своего мужчины. Он не безногий инвалид и прекрасно сам может делать то, что делаешь для него ты. У мужчины больше чем у тебя выделяется тестостерона. У него больше физическая сила, чем у тебя. И даже мозг размером больше. Это он должен для тебя стараться больше, чем ты для него.

Как только ты забываешь об этом — мужчина на тебя забивает. Он становится эгоистом. Ты автоматически мыслишь как средневековые люди — мужчина в семье главный. Мужчина глава семьи.

А ты получается по этим дурацким понятиям рождена быть номером 2. Это с какого вообще хера?

Самый вкусный союз — это два эгоиста. Которые распределили четко свои обязанности. Четко их выполняют. И помогают друг другу, когда кто-то один не успевает или по каким-то причинам не может. Как успешное бизнес партнерство в общем.

Твоя задача, говорить нет. Говорить нет тогда, когда это нужно. Когда ты понимаешь, что он перестал стараться, а ты вкладываешься больше, чем он. Так в отношениях быть не должно. Это ошибка!

Если ты хочешь, чтобы я научил тебе говорить «Нет». Окэй. Я напишу для тебя книгу, сниму фильм, проведу ученые исследования, напишу диссертацию на эту тему, чтобы ты просто смогла произнести 3 гребанных буквы! Сиди и жди чуда.

11. Ты сражаешься с ветром.

А теперь давай так. Откроем твои затуманенные глазки. Такая ситуация. Ты тренер и тренируешь ребят, предположим, по велоспорту. Ты выбрала талантливого спортсмена и с ним занимаешь индивидуально. Не бесплатно, естественно. Он подает надежды, старается. Выкладывается по полной.

Но вот проходит год, потом второй, третий. И так далее. И ты понимаешь, что этот юный спортсмен совсем разленился. Он забивает на тренировки, у него на самом деле слабая мышечная отдача. Он оказывается не такой уж и одаренный. А еще и грубит тебе. Вечно тобой недоволен. Платит тебе в разы меньше или вообще прекратил платить.

Ты видишь как другие ребята растут. Стараются и занимают призовые места. Их тренера получают славу и почет. А ты все еще уговариваешь бездарность проехать еще один трек. А он говорит, что лучше пойдет поспит или потусит с друзьями.

Что ты тогда сделаешь?

Предполагаю, что откажешься его тренировать и переключишься на более яркого спортсмена.

Скажи мне. Какого черта ты пытаешься улучшить неулучшаемое?

Тебе не жаль свои дни, месяцы и годы жизни, чтобы надеятся, что твой мужчина когда-то чего-то добьется?

Да! Ты привыкла к нему. Ты столько сил отдала ему, времени и может даже денег. Но разве не является абсурдом продолжать ждать чуда?

Зачем ты совершаешь самую глупую ошибку в отношениях, которую, кстати, совершают большинство женщин, которым вбили тяжелыми сапогами идею, что мужчину нужно вдохновлять, мотивировать и поддерживать???

А он, сука, не должен сам это делать?

Слушай, ну ошиблась ты, ну выбрала бездарность. Бывает. Зачем дальше быть с ним рядом и играть актерскую роль под названием «Я верю в тебя, парень»?

Заключение.

Что я хочу видеть в итоге. Хотя нет, не так. Что я требую лично от тебя?

  1. Хватит себя запускать. Приведи тело в идеальное состояние.
  2. Будь независимой девочкой. Никогда не завись от мужика. Да и вообще от чего либо.
  3. Создай свой план побега.
  4. Тебе лично с собой не должно быть скучно. Найди кайф в своем одиночестве.
  5. Гори своим делом, а не отношениями.
  6. Эрогенная зона мужчины — это твой собственный кайф от своей жизни.
  7. Стань непредсказуемой.
  8. Стань Секс-леди.
  9. Пусть мужчина видит тебя глазами других мужчин.
  10. Для себя старайся больше чем для него.
  11. Не сражайся с ветрами.

Девочка моя. Не допускай эти ошибки в отношениях между мужчиной и женщиной. Тогда ты будешь любить себя, свою жизнь и будут любить тебя.

Точка.

Успехов! Горд.

Как привлечь внимание мужчины НАДОЛГО?

  1. Несколько способов глубоко привлечь внимание мужчины.
  2. Как привлечь внимание парня в Инстаграм?

Привлекать мужчин нужно не специально, не готовясь к этому, а машинально и автоматически. По пути, как нечто собой разумеющееся.

Ты занимаешься своими делами, живешь своей пиздатой жизнью, идешь к своим целям и наслаждаешься каждым мгновением и мужчины обращают на тебя при этом внимание.

Что будет, если ты будешь делать как все?

Мир состоит из цепочек шаблонов. И все действуют примерно одинаково. Все девушки хотят привлекать внимание и делают это практически ежедневно, но когда дело касается чего-то более интересного, то старые методы перестают работать. Поэтому от них нужно избавляться.

Все дело в том, что когда мужчина хотя бы догадывается о том, что он тебе нравится, то шансов у тебя привлечь внимание становится очень мало. Точнее привлечь к тому, чтобы он тебя поимел и забыл — шансы увеличиваются. А вот чтобы привлечь надолго уменьшаются.

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

Поэтому очень важно привлекать внимание сразу, заселить в голову мужчины идею, в центре которой — ты.

И давай не будем говорить такие слова как — да на фиг надо привлекать внимание этих парней, пусть они мое привлекают. Это как в бизнесе — умеешь привлекать внимание к своим товарам или услагам — будешь хорошо зарабатывать. Не умеешь или думаешь — на фиг надо мне привлекать внимание этих клиентов, ну что ж… Они пройдут мимо тебя. Ты в жопе.

Как мимо тебя проходят лучшие мужчины, а ты все ждешь чуда.

Как обычно действуют женщины, которые хотят привлечь к себе внимание?

Они улыбаются, просто смотрят (мы будем непросто смотреть), пытаются узнать, что мужчине интересно, выясняют инфу, какие девушки ему нравятся и прочие шаблонные и небдуманные действия.

Именно необдуманные! Ибо ты стала забывать, что мужчина подсаживается на женский мозг и свой кайф с ней. Именно на эти кнопки мы и будем давить в этой статье, чтобы привлечь внимание сильного и вкусного мужчины. Слабаки нас мало интересуют…

Перед тем как начать напишу:

Ахтунг! Внимание! Все то, что ты прочтешь ниже важно, очень важно, пиздец как важно делать не только с мужчинами, а вообще со всеми. Сделай это своей тренировкой, чтобы данное поведение, данное мышление стало для тебя абсолютной нормой.

Чтобы ты не забывала об этом, в каждом пункте я тебе буду напоминать об этом.

Несколько способов глубоко привлечь внимание мужчины.

1. Предложи мужчине свободные отношения

С одной только оговоркой. Их не будет. (Ему об этом знать не обязательно)

План такой. Ты доносишь до мужчины идею, что ты именно с ним хочешь свободные отношения. Онли секс. Любые фантазии. Но мы сделаем просто обалденный ход, которого он никак не ждет. Потому что мы ставим его на пъедестал, но оставляем без аплодисментов.

И он понимает, что он не на первом, а на втором месте…

А что мужчина хочет, побыв на пъедестале и упав оттуда? Правильно — вернуться на пъедестал.

Короче говоря — мы поселяем в его черепной коропке идею и уверенность в том, что ты прям дико хочешь с ним свободных отношений.

Но при этом после того, как он начнет потирать свои ментальные ручки, чтобы поставить очередную галочку, мы просто сливаемся.

Ты занята. У тебя нет времени. Ты куда-то уезжаешь. Тебе не до него.

Изначально можешь близко его подпустить. Поцеловать его, прижаться. Навешать кучу комплиментов, чтобы у него не было сомненений в том, что он тебя завоевал. А после этого эх! Ты занята.

Встречи откладываются, встречи переносятся, встречи ожидаются.

Скорее всего у тебя возникают сейчас сомнения в данной тактике. Ты можешь подумать — ой, Горд. Ну так он сольется и все. А я тебе скажу, что не черта он не сольется. Потому что:

  • Ему быстро редко кто предлагал свободные отношения, а скорее всего никто не предлагал и они просто плавно в них перетекали из надежд девушки на что-то более серьезное.
  • Ему это удобно.
  • Он именно этого хочет.
  • Ты надрезала шаблон.
  • У него возникает чувство ревности, что ты переключилась на другого и также легко можешь предложить другому свободные отношения. А это повышает твою значимость в его сердечной мышце.
  • Он начинает так или иначе ждать, следить, ожидать встречи. В голове он уже все спланировал, но ты сама дала этот план и сама рулишь возведением его дальнейших чувств.
  • Он не раскусит твой план, потому что у него всегда будут сомнения, что ОН что-то сделал не так. Сказал или написал что-то не то. Ведь изначально все было гуд! У мужчины включится анализирование твоего слива.
  • Он начнет больше о тебе думать. Боже, так ты уже привлекла его внимание настолько, что он хрен от тебя останет теперь!

Но при этом есть небольшие нюансы.

Ты должна давать ему надежду. Не просто предложить свободные отношения, но и давать ему шанс. То есть сливаться правильно. «Дорогой, извини, я завтра не смогу, давай перенесем на следующую неделю, появились кое-какие дела. Скучаю».

Сама иногда выходить на связь, предлагать встречу. Сама пиши, общайся с ним (можно даже вполне активно), сама назначай встречу и сама же ее отменяй.

Можно иногда встречаться в быстром формате.

«Ты где? На Пушкинской? Я рядом, у меня есть минутка, давай выпьем кофе». При этом круто было бы угостить его чем-то вкусным, а он оплатит кофе и быстренько смыться.

Как понять, что он готов? Как только он начнет обижаться, давить на то, чтобы решить все здесь и сейчас — это косвенный признак, что ты его зацепила более глубоко, чем обычно.

Не забывай все это протестировать на совершенно разных мужчинах, на середнячках, на ухажерах. Никогда не выливай ушат фишек на голову одному мужчины. Будь сама фишкой.

2. Смотри на мужчину правильно.

Даю тебе фишку, которая работает, ну просто шикарно. Практически безотказно. Что мы делаем?

Впиваешься в него взглядом. Желательно молча. Смотришь и смотришь, можешь слегка щуриться, чтобы создать эффект, что ты о нем что-то в данный момент думаешь.

Он как и все мужчины задаст этот дурацкий вопрос — почему ты на меня ТАК смотришь?

Ты стеснительно опускаешь глазки в пол, как будто тебя застукали за мастурбацией. Буквально на пару секунд. И вновь поднимаешь глаза и продолжаешь смотреть, задавая ему невинные вопросы по другой теме.

В это время у него будет перезагрузка программы относительно тебя. Именно так на него не смотрят.

Напоминаю еще раз! Для начала посмотри так на своих коллег, подруг и друзей. На родственников! На всех. Потом на поклонниках и потом уже переходи к мужчинам, которые заходят.

3. Яркое, провокационное поведение всегда привлекает внимание.

Для этого не нужно ходить задом наперед и устраивать скандалы с каждым встречным человеком. Нужно жить так, чтобы ты ослепляла. Тогда тебе мужское внимание обеспечено.

Яркое поведение выражается в том, как ты общаешься и какое у тебя поведение.

Например, на банкете, мужчина держит в руке бокал дорого вина. Ты подходишь к нему, берешь его бокал, смотря в глаза. Ставишь на стол и говоришь — а ты знаешь, что алкоголь снижает потенцию/старит мужчину/от него дурно пахнет и тому подобное. Потом ноготком начинаешь медленно двигать его к самому краю. Чтобы он схватил тебя за руку.

Ты просто засмеешься и удаляешься. Внимание тебе обеспечено.

Ты можешь выглядеть с иголочки. В красивом платье и на высоких каблуках. Просто снять и отшвырнуть в сторону/взять в руки и ходить босая. Ты пиратка! Тебе чужды все эти правила.

Ты можешь подойти и попросить застегнуть растегнувшийся бюстгалтер. Почему бы и нет?

Ты можешь написать ему — ты любишь вкусные конфеты? Когда ответит да, ты пишешь — завтра угощу. На следующий день берешь конфету в зубы (в губы) и идешь к нему и передаешь эту сладкую конфету ему…

Ты можешь при нем помолиться и поблагодарить Бога за то, что он дал тебе эту еду, а потом сказать — мать твою, какая я голодная, как сука!

Ты можешь использовать фишку «тремор рук». Просто показываешь мужчине трясущяеся ручки и говоришь что-то в духе — Я волнуюсь, когда вижу тебя. У него этого никогда не было. Не волнуйся, не бойся того, что он поймет, что он тебе зашел и ты будешь в невыгодной позиции. Мы же играем, мы же актеры. Ибо в следующий раз ты будешь с ним холодна и расчетлива. Уверена и стервозна. А он будет все время смотреть куда? Верно! На твои ручки…

Ты можешь на свидании подойти сзади и укусить сильно его за плечо. Чтобы остался след. Или обнять его, запустить ручки под рубашку в районе спины. И сильно впиться коготками в его кожу. Сделать невинные глаазки и сказать — прости не удержалась.

Ты можешь жестко раскритиковать позицию мужчины. Особенно, если все с ним соглашаются и он уверен, что говорит правильные вещи. Это должно быть ровно до того момента, пока не появишься на горизонте ты. Ты врываешься в спор и начинаешь топить его позицию.

Абсолютно спокойно говоришь, что его точка зрения ошибочна и приводишь ровно противоположные факты. Дразни этим. Показывай чаще свое несогласие. Не агрессивно, не на повышенных тонах, а дружелюбно с ухмылочкой на губах.

В чем суть. Когда с человеком кто-то спорит, то он после этого спора, даже в течении нескольких дней проигрывает этот спор в голове, когда, к примеру, едет на работу. Он думает — надо было ей вот этот факт привести. А на ее слова ответить такими вот словами! Ну, то есть он не заметил, как ты уже доминируешь в его голове. Привлекла ты его? Еще как, детка!

Вдалбливаю дальше. Ты так должна себя вести не только с конкретным мужчиной, а иногда вообще вытворять эти финты. Просто, чтобы веселиться. Чтобы такое поведение стало для тебя привлекательной машинальностью…

4. Искусства стебать или грамотный троллинг.

Умей и не бойся красиво стебать мужчину. Ничего так не привлекает как красивый троллинг.

Используй систему 2 минус 1. То есть ты вешаешь ему парочку комплиментов и потом стебешь. Тебе идет щетина, ты смотришься сексуально. И рубашка классная, подчеркивает тело. Но вот прическа у тебя жесть. Кто тебе ее делал? Тебе посоветовать классного мастера?

Или. На твоих руках эти часы так вкусно выглядят, ммм. У тебя явно хороший вкус. Но штаны я бы сменила. Они у тебя сзади весят.

Или. У тебя шикарный голос, завораживает. И умеешь красиво говорить, но вот зачем ты вжимаешь голову в плечи? Это смотрится так себе. Ты зажат. Давай я сделаю тебе массаж. Кстати, круто массаж делать не дома, а на улице, в кафе, в торговом центре.

Чем успешнее и сильнее мужчина и чем изящнее ты его троллишь, тем больше заинтересованности в его глазах.

Обычно так делать не принято. Нужно смеяться над его шутками, внимательно его слушать, вести непринужденную беседу и быть позитивной. Читай быть как все. Омлет поданный в другой тарелке, в другом ресторане все равно остается омлетом. Поэтому твоя задача хорошенько его поперчить.

Не бойся смеяться над ним. Не просто шутить, а шутить над ним. Ты такой важный и серьезный. Я представила тебя голым с таким лицом и это так забавно вышло! Ха!

Снимай мужскую защиту, заставляй его обороняться, вытряхивай из него зануду. Стеби его. Это привлекает…

Еще разок! Тролль и стеби всех вокруг. Сделай это своим навыком.

5. Включи свою словарную сексуальность.

В твоем лексиконе должны быть слова, которые побуждают мужчину глубже в тебя входить мысленно. Чтобы твои слова переплетались с нормальностью, делая ее сексуально острой.

Давай сядем на лицо этим условностям.

Мои вопросы кажется прыгают на тебе.

Ты только что глубоко вошел в меня своим взглядом. Не смотри на меня так.

У меня мокрые трусики от этого чудесного места.

Я так люблю боль этого города…

Моя душа кончила от этого блюда, парень.

Молодой человек, у вас в глазах слишком пошло.

У меня влажные мысли от этой жары.

Хватит прижимать меня телом своего молчания.

Давай растегнем ширинку твоего решения.

Обязательно протестируй такое общение с совершенно разными людьми. Ясно?

6. Пропадай неожиданно. Появляйся внезапно.

Когда все в этой жизни ожидаемо, то логика выстраивает свою цепочку. Когда появляется внезапность, то цепочка обрывается и то, что оборвало логическую цепочку вызывает интерес и привлекает внимание.

Поэтому, когда ты чувствуешь, что сейчас самый неподходящий момент смыться — сматывайся. Когда чувствуешь, что сейчас появляться не самый лучший момент — появляйся. Мужчина не должен предсказывать твои дальнейшие действия.

Мужчине всегда нужно знать и всегда нужно предсказывать дальнейшие действия девушки. Если он не может предсказать, то к этой девушке появляется особый интерес. Мужчина начинает играть в ТВОЮ ИГРУ. По твоим правилам и попадается на удочку.

Ты можешь появиться где угодно и в любое время. У него дома. У него на работе. Рано утром или поздно ночью. Главное тут не правила приличия, а эффект неожиданности.

Ты можешь уйти откуда хочешь и когда хочешь. Просто поймай момент и сделай это.

Главное приучить себя к этому. Делай так со всеми, это твоя стилистика. С подругами, с мужчинами, на работе с коллегами. Не прощаясь исчезать и появляться в самый неожиданный момент.

И запомни — ты ничего не должна объяснять. Ты не обязана объяснять почему ты пропала, почему ты ушла и почему ты появилась. И ты имеешь полное право просто улыбнуться в ответ и все. Это сделает тебя еще больше загадочной. Не бойся быть странной, бойся быть очередным предсказуемым роботом.

Эй! Не забывай! Так ты должна делать постоянно! Это твое поведение. Пусть люди привыкают.

9. Привлеки внимание своим стилем жизни.

Твоя жизнь должна быть максимально кайфовой хотя бы потому, что она имеет свойство заканчиваться. При этом все мы знаем, что заканчивается она отвратительным трупом. Поэтому не стоит жить как труп.

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

Нужно ходить по лужам и радоваться каждому дню. Валяться в сугробе и улыбаться солнцу, подставив ему лицо.

Нужно хулиганить и портить праздники. Попробовать себя в бизнесе и хоть раз быть уволенной с работы за плохое поведение.

Нужно романтично проводить время у костра, встречать закат рано утром и смотреть как садится солнце.

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

В общем жить так, как будто ты умерла, но Бог дал тебе еще один шанс и вернул на землю. С условием, что ты будешь гореть в аду, если не будешь гореть в жизни.

И в такой образ жизни ты должна затаскивать всех. Подруг, друзей, мужчин и даже своего начальника и скучного препода.

Нужно это все транслировать в своих социальных сетях и не забывать того, что все это рано или поздно закончится…

Ну и напоследок.

Как привлечь внимание парня в Инстаграм?

Многое, что ты прочла здесь будет работать отлично и Инстаграме.

Ты можешь предложить парню свободные отношения в переписке. Завести его вкусными фото. Раскрыть свою и его фантазию. И действовать как написано выше.

Также ты можешь его троллить и стебать в директе, шутить над его фотками, постами и сторис. Ты можешь затянуть его в спор по какому-то вопросу. А также включать словарную сексуальность. Писать в разное время. Пропадать внезапно и внезапно появляться. И привлекать своим стилем жизни, который будет отлично отражаться на твоей собственной странице.

Искусство переписки. Как правильно переписываться с мужчинами?

Заключение

Хотя можешь продолжать использовать бабушкины методы. Если они У ТЕБЯ работают, то почему бы и нет?

Мой телеграмм канал ССЫЛКА

Подписывайся. Там вкусно.

Фрагмент блока | Метрополитен-музей

Фрагмент блока | Метрополитен-музей ×

Обрежьте изображение:

Отсканируйте свой QR-код:

С благодарностью создан с помощью ACNLPatternTool

Детали обложки

Используйте клавиши со стрелками для перемещения по вкладкам ниже и клавишу табуляции для выбора элемента

Заголовок: Фрагмент блока

Дата: 6–7 век

География: Основал Египет, Саккару

Середина: песчаник; рельефный

Размеры: В. 15 3/4 дюйма (40 см)
Ш. 10 1/4 дюйма (26 см)
Г. 6 3/4 дюйма (17,1 см)

Классификация: Скульптура

Кредитная линия: Фонд Роджерса, 1910 г.

Регистрационный номер: 10.175.35

Узнайте больше об этом произведении

Хронология истории искусств

Похожие произведения искусства

  • Исламское искусство
  • Фрагменты
  • Рельефы
  • Песчаник
  • Скульптура
  • Из Африки
  • Из Египта
  • Из Саккары
  • Из Верхнего Египта
  • С 500 по 1000 г. н.э.

Ресурсы для исследований

Библиотеки и исследовательские центры Метрополитена предоставляют беспрецедентные ресурсы для исследований и приветствуют международное сообщество студентов и ученых.

API Met Collection — это место, где все создатели, создатели, исследователи и мечтатели могут получить доступ к самым последним данным и общедоступным изображениям для коллекции The Met. Данные открытого доступа и общедоступные изображения доступны для неограниченного коммерческого и некоммерческого использования без разрешения или платы.

Обратная связь

Мы продолжаем исследовать исторический и культурный контекст предметов в коллекции The Met. Если у вас есть комментарии или вопросы об этой записи объекта, пожалуйста, заполните и отправьте эту форму. Музей с нетерпением ждет ваших комментариев.

Исламское искусство в Метрополитене

Коллекция исламского искусства Метрополитена является одной из самых полных в мире и датируется от седьмого до двадцать первого века. Его более 15 000 объектов отражают большое разнообразие и диапазон культурных традиций от Испании до Индонезии.

Глубокое погружение в RenderingNG: Фрагментация блока LayoutNG

Этот пост является частью серии статей о движке рендеринга Chromium. Ознакомьтесь с оставшейся частью серии, чтобы узнать больше о RenderingNG, архитектуре RenderingNG, ключевых структурах данных, VideoNG, LayoutNG и BlinkNG.

Меня зовут Мортен Стеншорн, инженер по компоновке в команде рендеринга Blink в Google. Я участвовал в разработке движка браузера с начала 2000-х, и мне было очень весело, например, я помогал пройти тест acid2 в движке Presto (Opera 12 и более ранних версиях) и реконструировал другие браузеры для исправить макет таблицы в Presto. Кроме того, за эти годы я потратил больше времени, чем хотелось бы, на фрагментацию блоков и, в частности, на использование нескольких столбцов в Presto, WebKit и Blink. В течение последних нескольких лет в Google я в основном занимался работой по добавлению поддержки фрагментации блоков в LayoutNG. Присоединяйтесь ко мне в этом глубоком погружении в реализацию фрагментации блоков, так как вполне возможно, что это последний раз, когда я реализую фрагментацию блоков. 🙂

# Что такое фрагментация блоков?

Блочная фрагментация заключается в разделении блока уровня блока CSS (например, раздела или абзаца) на несколько фрагментов, когда он не помещается целиком в один контейнер фрагментов (называемый фрагментатором . Фрагментатор не является элементом , но представляет собой столбец в макете с несколькими столбцами или страницу в постраничном медиафайле. Чтобы произошла фрагментация, контент должен находиться внутри контекста фрагментации . Контекст фрагментации чаще всего устанавливается контейнером с несколькими столбцами (контент будет разбит на столбцы) или при печати (содержимое будет разбито на страницы).Длинный абзац со многими строками может понадобиться разбить на несколько фрагментов, чтобы первые строки помещались в первый фрагмент, а остальные строки размещены в последующих фрагментах.

В этом примере абзац был разделен на две колонки с использованием многоколоночного макета. Каждый столбец является фрагментарным, представляющим фрагмент фрагментированного потока.

Блочная фрагментация аналогична другому хорошо известному типу фрагментации: фрагментации строк (также известной как «разрыв строки»). Любой встроенный элемент, состоящий из более чем одного слова (любой текстовый узел, любой элемент и т. д.) и допускающий разрывы строк, может быть разбит на несколько фрагментов. Каждый фрагмент помещается в отдельный строковый блок. Строковый блок — это встроенная фрагментация, эквивалентная fragmentainer для колонок и страниц.

# Что такое фрагментация блока LayoutNG?

LayoutNGBlockFragmentation — это переработанный движок фрагментации для LayoutNG, и после многих лет работы первые части наконец-то появились в Chrome 102 в начале этого года. Это исправило давние проблемы, которые было невозможно исправить в нашем «старом» движке. Что касается структур данных, он заменяет несколько структур данных до NG фрагментами NG , представленными непосредственно в дереве фрагментов.

Например, теперь мы поддерживаем значение ‘avoid’ для свойств CSS ‘break-before’ и ‘break-after’, что позволяет авторам избегать разрывов сразу после заголовка. Как правило, это выглядит не очень хорошо, если последнее, что размещается на странице, — это заголовок, а содержимое раздела начинается на следующей странице. Вместо этого лучше разбить перед заголовком. См. рисунок ниже для примера.

Chrome 102 также поддерживает переполнение фрагментации, поэтому монолитное (предположительно неразрывное) содержимое не разбивается на несколько столбцов, а эффекты рисования, такие как тени и преобразования, применяются правильно.

# Фрагментация блоков в LayoutNG завершена

На момент написания этой статьи мы завершили полную поддержку фрагментации блоков в LayoutNG. Фрагментация ядра (блок-контейнеры, включая разметку строк, плавающие элементы и позиционирование вне потока) появилась в Chrome 102. Фрагментация Flex и сетки появилась в Chrome 103, а фрагментация таблиц — в Chrome 106. Наконец, печать появилась в Chrome 108. Фрагментация блоков была последней функцией, которая зависела от устаревшего движка для выполнения компоновки. Это означает, что начиная с Chrome 108 устаревший движок больше не будет использоваться для выполнения макета.

Помимо фактического размещения содержимого, структуры данных LayoutNG поддерживают отрисовку и проверку попадания, но мы по-прежнему полагаемся на некоторые устаревшие структуры данных для API-интерфейсов JavaScript, которые считывают информацию о макете, например offsetLeft и offsetTop .

Компоновка всего с помощью NG позволит реализовать и отправить новые функции, которые имеют только реализации LayoutNG (и не имеют аналога в устаревшем движке), такие как запросы контейнера CSS, позиционирование привязки, MathML и настраиваемый макет (Houdini). Для контейнерных запросов мы отправили его немного заранее, предупредив разработчиков, что печать пока не поддерживается.

Мы выпустили первую часть LayoutNG в 2019 году, которая состояла из обычного макета блочного контейнера, встроенного макета, плавающих элементов и позиционирования вне потока, но без поддержки гибкости, сетки или таблиц, а также без поддержки фрагментации блоков. . Мы бы вернулись к использованию устаревшего механизма компоновки для гибкости, сетки, таблиц и всего, что связано с фрагментацией блоков. Это было справедливо даже для блочных, встроенных, плавающих и вынесенных элементов в фрагментированном контенте — как видите, обновление такого сложного механизма компоновки на месте — очень деликатный танец.

Кроме того, хотите верьте, хотите нет, но к середине 2019 года большая часть основных функций макета фрагментации блоков LayoutNG уже была реализована (за флагом). Итак, почему же доставка заняла так много времени? Короткий ответ: фрагментация должна корректно сосуществовать с различными унаследованными частями системы, которые нельзя удалить или обновить, пока не будут обновлены все зависимости. Подробный ответ см. в следующих деталях.

# Взаимодействие с устаревшим механизмом

Устаревшие структуры данных по-прежнему отвечают за API-интерфейсы JavaScript, которые считывают информацию о макете, поэтому нам необходимо записывать данные обратно в устаревший механизм так, как он понимает. Это включает в себя правильное обновление устаревших структур данных с несколькими столбцами, таких как LayoutMultiColumnFlowThread.

# Обнаружение и обработка резервного варианта устаревшего механизма

Нам пришлось вернуться к устаревшему механизму компоновки, когда внутри было содержимое, которое еще не могло быть обработано фрагментацией блоков LayoutNG. На момент поставки фрагментации основного блока LayoutNG (весна 2022 г.) это включало flex, grid, таблицы и все, что напечатано. Это было особенно сложно, потому что нам нужно было определить потребность в устаревшем резервном варианте перед созданием объектов в дереве компоновки. Например, нам нужно было обнаружить, прежде чем мы узнаем, существует ли предок многостолбцового контейнера, и прежде чем мы узнаем, какие узлы DOM станут контекстом форматирования или нет. Это проблема курицы и яйца, у которой нет идеального решения, но пока ее единственное неправильное поведение — ложные срабатывания (откат к устаревшему, когда в действительности нет необходимости), все в порядке, потому что любые ошибки в таком поведении макета — это ошибки. Хром уже есть, новых нет.

# Прогулка по дереву перед покраской

Предварительная покраска — это то, что мы делаем после макета, но перед покраской. Основная проблема заключается в том, что нам все еще нужно пройтись по дереву объектов макета, но теперь у нас есть фрагменты NG — так что же нам делать с этим? Мы обходим как объект макета, так и деревья фрагментов NG одновременно! Это довольно сложно, потому что сопоставление между двумя деревьями не является тривиальным. Хотя структура дерева объектов макета очень похожа на структуру дерева DOM, дерево фрагментов представляет собой результат 9. 0103 макета, а не вход в него. Помимо фактического отражения эффекта любой фрагментации, включая встроенную фрагментацию (фрагменты строк) и фрагментацию блоков (фрагменты столбцов или страниц), дерево фрагментов также имеет прямую связь родитель-потомок между содержащим блоком и потомками DOM, которые имеют этот фрагмент как содержащий их блок. Например, в дереве фрагментов фрагмент, сгенерированный абсолютно позиционированным элементом, является прямым дочерним элементом содержащего его фрагмента блока, даже если в цепочке предков есть другие узлы между потомком, расположенным вне потока, и содержащим его блоком.

Все становится еще сложнее, когда внутри фрагментации находится элемент, позиционированный вне потока, потому что тогда фрагменты вне потока становятся прямыми дочерними элементами фрагментатора (а не дочерними элементами того, что CSS считает содержащим блоком). К сожалению, это была проблема, которую нужно было решить, чтобы без особых проблем сосуществовать с устаревшим движком. В будущем мы сможем упростить большую часть этого кода, потому что LayoutNG спроектирован так, чтобы гибко поддерживать все современные режимы компоновки.

# Проблемы с устаревшим механизмом фрагментации

Унаследованный механизм, разработанный в более раннюю эпоху Интернета, на самом деле не имеет концепции фрагментации, даже если фрагментация технически существовала и тогда (для поддержки печати ). Поддержка фрагментации была просто чем-то, что было прикручено сверху (печать) или модифицировано (многоколоночное).

При компоновке фрагментируемого содержимого устаревший движок размещает все в виде длинной полосы, ширина которой соответствует размеру столбца или страницы, а высота настолько велика, насколько это необходимо для размещения содержимого. Эта длинная полоса не визуализируется на странице — это можно представить как визуализацию на виртуальной странице, которая затем перестраивается для окончательного отображения. Концептуально это похоже на печать всей бумажной газетной статьи в одну колонку, а затем с помощью ножниц разрезать ее на несколько частей в качестве второго шага. (Раньше некоторые газеты действительно использовали подобные приемы!)

Устаревший механизм отслеживает воображаемую границу страницы или столбца в полосе. Это позволяет подталкивать контент, который не выходит за границы, на следующую страницу или столбец. Например, если только верхняя половина строки умещается на том, что движок считает текущей страницей, он вставит «распорку разбивки на страницы», чтобы протолкнуть ее вниз до позиции, где движок предполагает, что верхняя часть следующей страницы находится . Затем большая часть фактической работы по фрагментации («вырезание ножницами и размещение») выполняется после макета во время предварительной раскраски и раскрашивания путем разрезания высокой полосы контента на страницы или столбцы (путем вырезания и перевода частей). Это сделало несколько вещей практически невозможными, например, применение преобразований и относительного позиционирования 9.0102 после фрагментации (именно этого требует спецификация). Кроме того, хотя в устаревшем движке есть некоторая поддержка фрагментации таблиц, flex-фрагментация или фрагментация сетки вообще не поддерживаются.

Вот иллюстрация того, как макет из трех колонок представлен внутренне в устаревшем движке, до использования ножниц, размещения и клея (у нас есть заданная высота, так что помещаются только четыре строки, но внизу есть лишнее пространство) :

Поскольку устаревший механизм компоновки на самом деле не фрагментирует содержимое во время компоновки, возникает много странных артефактов, таких как относительное позиционирование и неправильное применение преобразований, а также обрезание теней по краям столбцов.

Вот простой пример с text-shadow:

Устаревший движок плохо с этим справляется:

Видите, как text-shadow из строки в первом столбце обрезается и помещается вверху? второго столбца? Это потому, что устаревший механизм компоновки не понимает фрагментацию!

Это должно выглядеть так (и вот как это показано на NG):

Далее, давайте сделаем это немного сложнее, с преобразованиями и box-shadow. Обратите внимание, как в устаревшем движке происходит неправильное отсечение и вылет за пределы столбца. Это потому, что преобразования по спецификации должны применяться как эффект пост-макета, пост-фрагментации. С фрагментацией LayoutNG оба работают корректно. Это улучшает взаимодействие с Firefox, который некоторое время имел хорошую поддержку фрагментации, и большинство тестов в этой области также проходят там.

У устаревшего движка также есть проблемы с высоким монолитным содержимым. Содержимое является монолитным , если оно не может быть разбито на несколько фрагментов. Элементы с прокруткой переполнения являются монолитными, потому что пользователям не имеет смысла прокручивать непрямоугольную область. Линейные блоки и изображения — другие примеры монолитного контента. Вот пример:

Если часть монолитного контента слишком высока, чтобы поместиться в столбце, устаревший движок жестоко нарежет его (что приведет к очень «интересному» поведению при попытке прокрутки контейнера с возможностью прокрутки):

Вместо того, чтобы позволить ему переполнить первый столбец (как это происходит с фрагментацией блоков LayoutNG):

Устаревший движок поддерживает принудительные разрывы. Например,

вставит разрыв страницы перед DIV. Однако он имеет лишь ограниченную поддержку для поиска оптимальных невынужденных разрывов . Он поддерживает break-inside:avoid и orphans and widows, но не поддерживает предотвращение разрывов между блоками, если запрашивается через break-before:avoid , например. Рассмотрим следующий пример:

Здесь у элемента #multicol есть место для 5 строк в каждом столбце (потому что его высота 100 пикселей, а высота строки равна 20 пикселям), поэтому все элементы #firstchild могут поместиться в первом столбце. . Однако его брат #secondchild имеет break-before:avoid, что означает, что содержимое не хочет, чтобы между ними возник разрыв. Поскольку значение widows равно 2, нам нужно поместить 2 строки #firstchild во второй столбец, чтобы учесть все запросы на предотвращение перерывов. Chromium — первый браузерный движок, полностью поддерживающий эту комбинацию функций.

# Как работает фрагментация NG

Механизм компоновки NG обычно размещает документ путем обхода дерева блоков CSS в глубину. Когда все потомки узла размещены, макет этого узла может быть завершен путем создания NGPhysicalFragment и возврата к алгоритму родительского макета. Этот алгоритм добавляет фрагмент в свой список дочерних фрагментов и, как только все дочерние элементы завершены, создает для себя фрагмент со всеми его дочерними фрагментами внутри. С помощью этого метода создается дерево фрагментов для всего документа. Однако это чрезмерное упрощение: например, элементы, расположенные вне потока, должны будут перемещаться из того места, где они существуют в дереве DOM, в содержащий их блок, прежде чем их можно будет разместить. Я игнорирую эту сложную деталь здесь для простоты.

Наряду с самим блоком CSS, LayoutNG предоставляет ограниченное пространство для алгоритма макета. Это предоставляет алгоритму такую ​​информацию, как доступное пространство для макета, установлен ли новый контекст форматирования и свертывание промежуточных полей в результате предыдущего содержимого. Пространство ограничений также знает размер выложенного блока фрагментатора и текущее смещение блока в нем. Это указывает, где сломаться.

При фрагментации блока расположение потомков должно останавливаться на разрыве. Причины разрыва включают в себя нехватку места на странице или в столбце или принудительный разрыв. Затем мы создаем фрагменты для узлов, которые мы посетили, и возвращаемся до корня контекста фрагментации (контейнер с несколькими столбцами или, в случае печати, корень документа). Затем в корне контекста фрагментации мы готовимся к новому фрагментатору и снова спускаемся в дерево, продолжая с того места, на котором остановились до разрыва.

Важнейшая структура данных для предоставления средств возобновления макета после разрыва называется NGBlockBreakToken. Он содержит всю информацию, необходимую для правильного возобновления компоновки в следующем фрагментаторе. NGBlockBreakToken связан с узлом и формирует дерево NGBlockBreakToken, так что каждый узел, который необходимо возобновить, представлен. NGBlockBreakToken прикрепляется к NGPhysicalBoxFragment, сгенерированному для узлов, которые ломаются внутри. Маркеры перерыва распространяются на родителей, образуя дерево маркеров перерыва. Если нам нужно сломать перед узлом (а не внутри него), никакого фрагмента производиться не будет, но родительскому узлу все равно нужно создать токен разрыва «break-before» для узла, чтобы мы могли начать его раскладывать, когда доберемся до ту же позицию в дереве узлов в следующем фрагментаторе.

Разрывы вставляются, когда у нас заканчивается пространство фрагмента (непринудительный разрыв) или когда требуется принудительный разрыв.

В спецификации есть правила для оптимальных непринудительных разрывов, и просто вставлять разрыв именно там, где заканчивается место, не всегда правильно. Например, существуют различные свойства CSS, такие как break-before , которые влияют на выбор места разрыва. Следовательно, во время компоновки, чтобы правильно реализовать раздел спецификации непринудительных разрывов, нам нужно отслеживать возможные хорошие точки останова. Эта запись означает, что мы можем вернуться и использовать последнюю найденную наилучшую точку останова, если у нас закончится место в точке, где мы нарушили бы запросы на предотвращение останова (например, break-before:avoid или orphans:7 ). Каждой возможной точке останова присваивается оценка в диапазоне от «делайте это только в крайнем случае» до «идеальное место для останова» с некоторыми промежуточными значениями. Если место остановки оценивается как «идеальное», это означает, что никакие правила нарушения не будут нарушены, если мы нарушим это место (и если мы получим эту оценку точно в точке, где у нас заканчивается место, нет необходимости оглядываться назад в поисках чего-то лучшего). ). Если оценка является «последней инстанцией», точка останова даже не является допустимой, но мы все равно можем прервать ее, если не найдем ничего лучше, чтобы избежать фрагментарного переполнения.

Действительные точки останова обычно встречаются только между родственными блоками (строками или блоками), а не, например, между родителем и его первым дочерним элементом (точки останова класса C являются исключением, но нам не нужно обсуждать их здесь). . Там — это допустимая точка останова, например, перед родственным блоком с break-before:avoid, но это где-то между «идеальным» и «последним средством».

Во время компоновки мы отслеживаем лучшую точку останова, найденную до сих пор в структуре NGEarlyBreak. Ранний разрыв — это возможная точка останова перед или внутри узла блока или перед строкой (либо строкой контейнера блока, либо строкой гибкости). Мы можем сформировать цепочку или путь объектов NGEarlyBreak на тот случай, если лучшая точка останова находится где-то глубоко внутри чего-то, мимо чего мы прошли ранее, когда у нас закончилось место. Вот пример:

В этом случае у нас закончилось место прямо перед #second , но у него есть «break-before:avoid», который получает оценку местоположения перерыва «нарушение перерыва избежать». В этот момент у нас есть цепочка NGEarlyBreak «внутри #внешний > внутри #средний > внутри #внутренний > перед «строкой 3» с «идеальным», поэтому мы предпочли бы разорвать там. Поэтому нам нужно чтобы вернуть и повторно запустить компоновку с начала #outer (и на этот раз передать NGEarlyBreak, который мы нашли), чтобы мы могли прервать работу перед «строкой 3» в #inner (мы прервемся перед «строкой 3», чтобы оставшиеся 4 строки попадают в следующий фрагмент, и для того, чтобы соблюдать widows:4 .)

Алгоритм спроектирован так, чтобы всегда прерываться в наилучшей возможной точке останова — как определено в спецификации — путем отбрасывания правил в правильном порядке, если не все из них могут быть удовлетворены. Обратите внимание, что нам нужно переразметить не более одного раза для каждого потока фрагментации. К тому времени, когда мы находимся на втором проходе компоновки, лучшее место разрыва уже передано алгоритмам макета, это место разрыва, которое было обнаружено на первом проходе макета и предоставлено как часть выходных данных макета в этом раунде. На втором проходе макета нас , а не выкладываем, пока не закончится место — на самом деле мы не ожидаем, что место закончится (это было бы ошибкой), потому что нам дали супер-сладкий (ну, как сладкий, как есть была доступна) место, чтобы вставить ранний перерыв, чтобы избежать ненужного нарушения правил нарушения. Так что мы просто выкладываем до этой точки и ломаемся.

Кстати, иногда нам нужно нарушать некоторые из запросов предотвращения прерывания, если это помогает избежать фрагментарного переполнения. Пример:

Здесь у нас закончилось место прямо перед #second , но есть «break-before:avoid». Это переводится как «нарушение перерыва во избежание», как и в последнем примере. У нас также есть NGEarlyBreak с «нарушением сирот и вдов» (внутри #first > перед «строкой 2»), что все еще не идеально, но лучше, чем «нарушение перерыва во избежание». Итак, мы прервемся перед «строкой 2», нарушив запрос сирот / вдов. Спецификация касается этого в 4.4. Unforced Breaks, где он определяет, какие правила прерывания игнорируются в первую очередь, если у нас недостаточно точек останова, чтобы избежать переполнения фрагмента.

# Резюме

Основная функциональная цель проекта фрагментации блоков LayoutNG состояла в том, чтобы обеспечить реализацию с поддержкой архитектуры LayoutNG всего, что поддерживает устаревший движок, и как можно меньше, кроме исправления ошибок.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *