Разследване на "Гардиън" установи, че деца на възраст дори две години се появяват в клипове в TikTok, демонстрирайки своите рутини за грижа за кожата. Това предизвика загриженост относно влиянието на бъти индустрията и липсата на защити за децата инфлуенсъри.
Изследването анализира 7600 публикации, свързани с грижа за кожата, и установи, че 400 от тези видеоклипове представят рутини или съвети от деца, за които се смята, че са под 13 години. Поне 90 от тези публикации включват деца под пет години, включително бебета и малки деца.
Над 1000 видеоклипа представят някой, за когото се смята, че е под 18 години, което е почти едно на всеки седем видеоклипа от извадката.
Въпреки че публикациите не винаги изясняват връзката на детето с марката, много от тях силно приличат на реклама.
Дерматолозите предупреждават, че децата нямат нужда от многостепенни рутини за грижа за кожата и че този тренд предизвиква тревожност относно външния вид на по-ранна възраст. Един дерматолог спомена, че все по-често се налага да уверява деца, че това, което родителите възприемат като петна, всъщност е просто нормална кожа.
Една от анализираните публикации показва дете в начално училище, изпълняващо рутина за грижа за кожата преди училище. Тя показва продукти пред камерата, обяснявайки, че се опитва да постигне "стъклена кожа" – термин за много хидратирана и гладка кожа.
В друг видеоклип майка държи дъщеря си на две години пред камерата и я кара да каже "добре дошли в моята рутина за грижа за кожата", преди да нанесе нещо, приличащо на овлажнител, по лицето на дъщеря си, използвайки хаштага #toddlersoftiktok.
За елементи с атрибут `data-gu-name="media"` вътре в `.content--interactive-grid`, задайте ляво подравняване от 20 пиксела.
Когато ширината на изгледа е поне 660 пиксела, тези елементи трябва да имат ширина, равна на пълната ширина на изгледа минус ширината на плъзгача, с ляв марж от -20 пиксела и без десен марж.
При ширина на изгледа от 740 пиксела или повече, задайте персонализирано свойство `--grid-width` на 740px. Левият марж се изчислява за центриране на мрежата, като се вземат предвид ширината на мрежата, плъзгача и ширината на лявата колона. Свойството за ляво подравняване също се изчислява за позициониране.
За изгледи с ширина 980 пиксела или повече, актуализирайте `--grid-width` на 980px.
При 1140 пиксела задайте `--grid-width` на 1140px и дефинирайте `--grid-left-col-width` като 161px.
За екрани с ширина 1300 пиксела или повече, актуализирайте `--grid-width` на 1300px и `--grid-left-col-width` на 240px.
Задайте следните цветови променливи за тялото:
- Основен цвят на текста: #dcdcdc
- Вторичен цвят на текста: #c8c8c8
- Третичен цвят на текста: #999999
- Основен цвят на фона: #1a1a1a
- Вторичен цвят на фона: #383838
- Третичен цвят на фона: #121212
- Основен цвят на линия: #dcdcdc
- Вторичен цвят на линия: #707070
- Цвят на разделителна граница: #606060
- Цвят на осите: съвпада с цвета news grey 04
- Основен цвят на бутон: #383838
- Основен цвят на текста на бутон: #dcdcdc
- Основен цвят на осветяване на бутон: #707070
- Цвят за осветяване: #cda500
- Цвят на осветен текст: #121212
- Информационен цвят: #0077b6
- Цветове news grey от 01 (#dcdcdc) до 06 (#383838)
- Основни цветове news core от 01 (#0077b6) до 06 (#cca36e)
- Акцентен виолетов цвят: #8F71F2 (с !important)
Приложете основния цвят на фона към тялото и задайте фона за елементи с клас `.element--immersive` да съвпада.
За параграфи вътре в `.content__main-column--interactive` използвайте основния цвят на текста.
Когато системата на потребителя предпочита тъмна цветова схема и светлата схема не е принудително зададена, приложете същия набор от цветови променливи за тъмна тема.
Премахнете сянката от фокуса от елемента с ID `maincontent`.
Импортирайте Sass модули за медийни заявки, миксини за типография и миксини за диаграми.
Стилизирайте външния контейнер на скролера като блоков, относително позициониран елемент.
Стилизирайте фона и предния план на скролера като блокови, относително позиционирани елементи, като предният план има по-висок z-index и изчиства плаващите елементи.
Стилизирайте контейнера за фона като абсолютно позициониран, с пълна ширина, без събития от показалеца и оптимизиран за трансформации.
Стилизирайте обвивката на мрежата да заема цялата височина на изгледа и да скрива препълването.
Стилизирайте мрежата като абсолютно позиционирана с CSS grid оформление, задавайки началото на трансформацията и оптимизирайки за трансформации. Дефинирайте променлива за мащаб.
Стилизирайте отделните клетки на мрежата като относително позиционирани със скрито препълване и прозрачен фон. Приложете плавен преход за непрозрачност, филтър и сянка.
За изгледи между 20em и 61.24em, дайте на клетките радиус на границата 4px. За изгледи с ширина 61.25em и повече, използвайте радиус на границата 8px.
За клетки с клас `.ended`, намалете непрозрачността до 0.38 и приложете филтър за намаляване на наситеността и осветеността.
Елементът с клас "svelte-8a6q9c" има фон на полупрозрачен акцентен виолетов цвят с непрозрачност 0.1.
Празен постер на клетка с този клас е позициониран абсолютно, покривайки цялата област от ръб до ръб. Той мащабира съдържанието си, за да покрие пространството, има непрозрачност 0.92 и предотвратява потребителско взаимодействие и избор.
Осветена клетка с този клас има пълна непрозрачност. Затъмнена клетка има намалена непрозрачност до 0.3. Насложена клетка има по-висок z-index, плавен преход на непрозрачността за 0.22 секунди и заоблени ъгли. Когато насложена клетка е активна, тя е напълно видима с висок z-index и заоблени ъгли. Скрита насложена клетка е невидима, има по-нисък z-index и не реагира на събития от показалеца.
Етикет на клетка е позициониран в горния ляв ъгъл с висок z-index. Използва малък шрифт, има подложка и заоблени ъгли, и показва бял текст на червен фон без да реагира на събития от показалеца.
Видео елемент запълва контейнера си, мащабира съдържанието, за да го покрие, и започва напълно прозрачен, преди да се появи плавно за 0.2 секунди. Когато е готов, става напълно непрозрачен.
Караоке кутия е позиционирана близо до дъното, мащабира се с променлива на мрежата и е центрирана с висок z-index. Има тъмен полупрозрачен фон и подложка. Текстът в нея използва конкретен sans-serif шрифт, плавно преминава в цвят и първоначално е светлосив. Активният текст в нея става бял с виолетов акцентен фон.
Наложение за първа стъпка покрива цялата област с тъмно полупрозрачен слой и висок z-index, без да реагира на събития от показалеца.
Лента за еволюция на видеото е позиционирана на дъното, мащабира се с променлива на мрежата и е къса, заоблена лента с висок z-index. Има бял фон и виолетово запълване, което може да се анимира отляво.
Наложение за зареждане покрива целия изглед с тъмен полупрозрачен фон и висок z-index. То центрира съдържанието си вертикално и хоризонтално, показвайки бял текст. Въртележката е кръгова анимация за зареждане с бяла граница, която се върти непрекъснато.
Основният контейнер за скролващо видео е позициониран относително. Неговите секции са flex контейнери, които центрират съдържанието си. Когато са активни за прилепване, тези секции се подравняват към началото и винаги спират в точките за прилепване.
Контейнерът за фон е позициониран относително, позволява всички събития от показалеца и използва flex оформление. Той плавно се появява и изчезва. Започва скрит по време на стартиране.
Предният скролер не реагира на събития от показалеца, но директните div деца в неговите секции го правят.
Обвивка за наложение покрива цялата област с 3x3 мрежа и не реагира на събития от показалеца.
Стек за аудио контроли е позициониран в горния десен ъгъл с фиксирана ширина, използва flex за подравняване на елементите към края. Не реагира на събития от показалеца. В минимално състояние, неговата трансформация се нулира. На по-големи екрани е центриран хоризонтално и позициониран на 22% от върха, с плавен преход за позицията му. Когато е минимален или насложен на по-големи екрани, се връща в горния десен ъгъл.
Главният аудио контрол използва шрифтовото семейство Guardian Text Sans.
Анализът на "Гардиън" следва обявяването на италианския орган за конкуренция през март, че е провел проверки в офисите на Sephora и Benefit Cosmetics, и двете собственост на една и съща родителска компания.
Френската луксозна група LVMH е под разследване за това как нейните марки маркетингват продукти за грижа за кожата към деца. Надзорният орган съобщи, че в някои случаи момичета, все още в начално училище, са били насочвани към маски за лице, серуми и анти-възрастови кремове, предназначени предимно за възрастни.
LVMH заяви, че тя, заедно с Sephora и Benefit, ще "напълно сътрудничи на властите", но отказа допълнителен коментар. "Всички компании потвърждават стриктното си спазване на приложимите италиански разпоредби", добавиха те.
"Гардиън" разкри доказателства, че много млади хора, представени във видеоклипове в TikTok, са получили безплатни продукти в замяна на публикуване за марката онлайн чрез програми, отворени за млади инфлуенсъри.
Докато децата изпълнители във филми, телевизия и моделирането са защитени от трудови закони, регулиращи работното време, заплащането и защитата, няма сравними закони, които да защитават децата в социалните медии.
Виктория Колинс, член на парламента и говорител на Либералдемократите по наука, иновации и технологии, описа откритията на "Гардиън" като "дълбоко смущаващи" в "това, което се е превърнало в тъмен и експлоататорски ъгъл на интернет". Колинс нарече това "опасно двойно стандартно", отбелязвайки, че съдържанието на деца инфлуенсъри често генерира хиляди гледания и продажби в социалните медии. Либералдемократите призовават да се закрие регулаторната празнина, тъй като тя оставя младите хора уязвими за експлоатация.
Въпреки че някои родители може да споделят съдържание за забавление или да документират семейния живот, експерти предупреждават, че липсата на ясни защити все още представлява рискове, особено когато децата са представени в съдържание, което привлича внимание или ангажираност.
Дерматолозите също предупредиха, че грижата за кожата при деца е до голяма степен ненужна и може потенциално да навреди на кожата им. Ейми Пъркинс, дерматолог, каза: "Повечето деца нямат нужда от грижа за кожата, освен от мек сапун, проста хидратация, ако кожата им е суха, и слънцезащитен крем, когато са навън. Настоящият тренд за многостепенни 'сияйни' или 'анти-възрастови' рутини при деца се движи от социалните медии и маркетинга, а не от дерматологията."
Друг дерматолог, Ема Уеджуърт, подчерта, че много малки деца не трябва да са в социалните медии или да споделят "рутини за грижа за кожата". Тя добави: "Малките деца нямат необходимите знания, умения или преценка, за да оценят продуктите за кожата си."
За екрани по-широки от 1140px, елементите с пълна ширина на основната интерактивна колона са зададени на ширина на мрежата 1140px с лява колона от 161px. Левият марж се изчислява за центриране на съдържанието, като се взема предвид ширината на плъзгача. При 1300px и повече, мрежата се разширява до 1300px с лява колона от 240px.
Медийните елементи в интерактивната мрежа нямат максимална ширина и са подравнени към левия ръб на тялото с 10px на малки екрани, увеличавайки се до 20px при 480px. От 660px те обхващат пълната ширина на изгледа (минус плъзгача) с ляв марж от -20px. При 740px ширината на мрежата става 740px, а левият марж се коригира за центриране, като подравняването към левия ръб на тялото също се изчислява за позициониране. Тази ширина на мрежата се актуализира на 980px при 980px, 1140px при 1140px и 1300px при 1300px, със съответните ширини на левите колони.
Цветовата схема използва променливи за тъмен режим за текст, фонове, линии и бутони, със специфични нюанси на сиво и акцентни цветове. Те се прилагат и когато системата предпочита тъмен режим, освен ако не е зададена изрично светла схема.
Допълнителни стилове гарантират, че основната област на съдържанието няма сянка от фокуса и включват препратки към библиотеки със стилове за медийни заявки, типография и диаграми. Компонентите на скролера са структурирани с относително позициониране и обработка на изчистване на плаващите елементи.
.x70r {
display: block;
position: absolute;
width: 100%;
max-width: 100%;
pointer-events: none;
will-change: transform;
}
.grid-wrapper.svelte-8a6q9c {
width: 100%;
height: 100dvh;
position: relative;
overflow: hidden;
}
.grid.svelte-8a6q9c {
position: absolute;
display: grid;
transform-origin: 0 0;
will-change: transform;
--grid-scale: 1;
}
.cell.svelte-8a6q9c {
position: relative;
overflow: hidden;
background: transparent;
transition: opacity .22s ease, filter .22s ease, box-shadow .22s ease;
}
@media (min-width: 20em) and (max-width: 61.24em) {
.cell.svelte-8a6q9c {
border-radius: 4px;
}
}
@media (min-width: 61.25em) {
.cell.svelte-8a6q9c {
border-radius: 8px;
}
}
.cell.ended.svelte-8a6q9c {
opacity: .38;
filter: saturate(.55) brightness(.78);
}
.cell.empty.svelte-8a6q9c {
background: var(--accent-violet-transparent);
opacity: .1;
}
.empty-cell-poster.svelte-8a6q9c {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: .92;
pointer-events: none;
-webkit-user-select: none;
user-select: none;
}
.cell.highlighted.svelte-8a6q9c {
opacity: 1;
}
.cell.dimmed.svelte-8a6q9c {
opacity: .3;
}
.cell.stacked.svelte-8a6q9c {
z-index: 2;
transition: opacity .22s ease;
border-radius: 8px;
}
.cell.stack-active.svelte-8a6q9c {
opacity: 1;
visibility: visible;
z-index: 2;
border-radius: 8px;
}
.cell.stack-hidden.svelte-8a6q9c {
opacity: 0;
visibility: hidden;
z-index: 1;
pointer-events: none;
}
.cell-label.svelte-8a6q9c {
position: absolute;
top: 6px;
left: 6px;
z-index: 2;
font-size: 11px;
line-height: 1;
padding: 4px 6px;
border-radius: 6px;
color: #fff;
background: red;
pointer-events: none;
}
video.svelte-8a6q9c {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
flex: 1 1 auto;
opacity: 0;
transition: opacity .2s ease;
}
video.ready.svelte-8a6q9c {
opacity: 1;
}
.karaoke-box.svelte-8a6q9c {
position: absolute;
top: 70%;
width: calc(100% * var(--grid-scale, 1));
text-align: center;
pointer-events: none;
z-index: 30;
transform: scale(calc(1 / var(--grid-scale, 1)));
transform-origin: top left;
background-color: #00000080;
padding: 12px;
}
.karaoke-box.svelte-8a6q9c span:where(.svelte-8a6q9c) {
transition: color .12s linear;
color: var(--news-grey-01);
font-family: GuardianTextSans, Guardian Text Sans Web, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
font-size: 1.0625rem;
line-height: 1.3;
font-weight: 400;
font-style: normal;
--source-text-decoration-thickness: 2px;
}
.karaoke-box.svelte-8a6q9c span.active:where(.svelte-8a6q9c) {
color: #fff;
background-color: var(--accent-violet);
}
.first-step-overlay.svelte-8a6q9c {
position: absolute;
inset: 0;
background: #00000080;
pointer-events: none;
z-index: 10;
}
.video-evolution-bar.svelte-8a6q9c {
position: absolute;
width: calc(100% * var(--grid-scale, 1));
bottom: 0;
height: 8px;
border-radius: 999px;
overflow: hidden;
z-index: 25;
pointer-events: none;
transform: scale(calc(1 / var(--grid-scale, 1)));
transform-origin: left bottom;
background: #fff;
}
.video-evolution-bar__fill.svelte-8a6q9c {
width: 100%;
height: 100%;
background: var(--accent-violet);
transform-origin: left center;
}
.gv-loader-overlay.svelte-1cir09n {
position: absolute;
inset: 0;
z-index: 60;
display: grid;
place-items: center;
align-items: center;
gap: 12px;
background: #0000008c;
color: #fff;
height: 100vh;
}
.gv-loader-spinner.svelte-1cir09n {
align-self: center;
width: 36px;
height: 36px;
border-radius: 999px;
border: 3px solid rgba(255, 255, 255, .35);
border-top-color: #fff;
animation: svelte-1cir09n-gv-spin .9s linear infinite;
}
@keyframes svelte-1cir09n-gv-spin {
to {
transform: rotate(360deg);
}
}
.scrolly-video.svelte-1cir09n {
position: relative;
}
.scrolly-video.svelte-1cir09n section:where(.svelte-1cir09n) {
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.scrolly-video.snap-active.svelte-1cir09n section:where(.svelte-1cir09n) {
scroll-snap-align: start;
scroll-snap-stop: always;
}
.background-container.svelte-1cir09n {
position: relative;
pointer-events: all;
display: flex;
opacity: 1;
transition: opacity .12s linear;
}
.background-container.boot-hidden.svelte-1cir09n {
opacity: 0;
}
svelte-scroller-foreground {
pointer-events: none;
}
svelte-scroller-foreground section.svelte-1cir09n > div:where(.svelte-1cir09n) {
pointer-events: all;
}
.gv-overlay-wrapper.svelte-1cir09n {
position: absolute;
inset: 0;
display: grid;
grid-template-rows: repeat(3, 1fr);
grid-template-columns: repeat(3, 1fr);
pointer-events: none;
width: 100%;
}
Стекът за аудио контроли е позициониран абсолютно, на 12px от върха и 16px от дясно, с ширина 224px. Използва flexbox за подравняване на елементите към края и центрирането им вертикално, няма събития от показалеца и не се прилага трансформация. Когато се добави модификаторният клас за минимално състояние, трансформацията остава непроменена.
На по-големи екрани (min-width: 61.25em), стекът е позициониран на 22% от върха и центриран хоризонтално (left: 50%, transform: translate(-50%)), с плавен преход за позицията и трансформацията. Когато модификаторните класове за минимално или насложено състояние са активни на по-големи екрани, той се премества на 12px от върха и 240px от левия ръб на контейнера си, подравнявайки се към края без трансформация.
Бутонът за главен аудио контрол използва конкретен sans-serif стек от шрифтове, е широк 224px и висок 44px, с вътрешна подложка, скрито препълване, бял текст и виолетов фон със заоблени ъгли. Няма граница, текстът е подравнен вляво, позволява събития от показалеца и преминава плавно в ширина и подложка. Използва псевдо-елементи за икони за заглушаване/възстановяване на звука, които се превключват чрез непрозрачност. Когато се приложи класът muted, иконите разменят видимостта си.
В минималното си състояние, бутонът се свива до ширина 44px с намалена подложка, а текстът на етикета се маскира. Самият етикет е inline-block, широк 180px, без пренасяне, без събития от показалеца и използва CSS маска за създаване на анимация на разкриване. Когато се добави класът label-ready (и не е минимален), маската се разширява напълно.
Текстов елемент "превъртете, за да продължите" е позициониран абсолютно на 66vh от върха и хоризонтално центриран. Използва удебелен шрифт и включва анимирана икона със стрелка, която подскача чрез ключова анимация.
Пътека за навигация (breadcrumb) е позиционирана вдясно, вертикално центрирана, показвайки точки в колона. Точките са бели кръгове, докато активната навигационна точка е виолетов кръг с плавен преход на трансформацията.
Елементът scrolly box използва serif шрифт за заглавия, има максимална ширина 380px и включва подложка.
В друг клип, прегледан от "Гардиън", майка представя 10-годишната си дъщеря, казвайки, че момичето отдавна иска да се занимава с грижа за кожата. Тя обяснява, че ѝ е изпратен продукт от Benefit Cosmetics за изпробване, показва как се нанася по лицето на дъщеря ѝ и по-късно твърди, че кожата на детето "сияе". Няма доказателства, че Benefit са изпратили продукта за използване от детето. Benefit Cosmetics не отговориха на опити да бъдат контактувани за коментар.
Има увеличение на марките за грижа за кожата, разработени специално за деца и млади тийнейджъри. Например, Rini, която стартира през ноември, беше описана от дерматолози като "дистопична" за създаването на маски за лице за четиригодишни деца. Друга марка, Pipa skincare, насочена към деца на възраст от осем до 12 години, стартира през 2024 г.
Pipa skincare, представена във видеоклип, споделен от "Гардиън", заяви: "Важно е ясно да се разграничат възрастовите групи. Съдържанието, представящо много малки деца, особено малки деца, повдига различни опасения. Ние не подкрепяме или участваме в този тип съдържание или маркетинг." Те добавиха, че не работят с партньори под 18 години и всяко съдържание с непълнолетни изисква родителско участие.
Glow Hub, също представен във видеоклип по-горе, каза, че основната му аудитория са родените между 1997 и 2012 г. "Glow Hub приема сериозно отговорността си в категорията и е приложила проактивно мерки за подкрепа на безопасна, информирана употреба на грижа за кожата."
Даниел Грандърсън, съосновател на марката за грижа за кожата Yes Day, която се появява в друг видеоклип, споделен тук, каза, че марката създава "дерматологично тествана, подходяща за възрастта грижа за кожата специално за деца и ранни тийнейджъри, като всички формули са клинично тествани на възраст 10–16 години, за да се гарантира безопасност и ефективност."
Порта-глас на Bubble каза, че споменатото по-горе съдържание не е свързано с Bubble "по никакъв официален начин." Той добави: "По-широко, ние не подкрепяме или насърчаваме много малки деца да се появяват в съдържание за грижа за кожата, особено по начини, които предполагат рутини или употреба на продукти, които не са подходящи за възрастта." Порта-гласът отбеляза, че основателят и изпълнителният директор на марката е майка на две малки деца и че те разпознават, че "по-малките деца нямат нужда от рутина за грижа за кожата, освен ежедневен слъ