;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Micro bob: a gente conta os segredos do cabelo curtinho de Manu Gavassi

Jéssica Arruda

Colaboração para Universa

25/02/2020 04h00

Depois da febre do blunt cut, aquele cabelo chanel com pontas bem marcadas, um novo corte já assumiu o posto de queridinho das brasileiras nesta temporada: o micro bob. O cabelo curto e angulado, que deixa a nuca à mostra com os fios na altura do maxilar, ficou ainda mais conhecido depois que a cantora Manu Gavassi mostrou toda a personalidade e atitude deste estilo no BBB 2020.

Na contramão do long bob, o micro não tem a assimetria de pontas mais longas na frente e nem o repicado do comprimento médio. "É como se você tivesse colocado algo para medir o cabelo, cortando todos os fios na mesma altura. Ele é mais dramático, bem reto e sem volume", afirma o hairstylist das celebridades, Marcos Proença.

Micro bob: fica bom no meu cabelo?

Com a base reta e o corte na altura do queixo, o cabelo perde peso e fica leve - e isso significa que mulheres com madeixas cacheadas ou crespas terão mais dificuldades em controlar o volume extra. O cabelo pode, inclusive, sofrer o temido "efeito abajur", com raiz baixa e as pontas cheias. Mas se mesmo com cabelos grossos a ideia é mudar o visual com o micro bob, a dica é não cortá-los molhados, levando em conta que os cachos podem "encolher" quando secar.

Não é à toa que Proença recomenda o micro bob para mulheres com cabelos lisos, finos e levemente ondulados. Ou que fazem progressiva e tratamentos para deixar os fios mais alinhados. "Basicamente para aderir este corte toda mulher deveria fazer antes um redutor de volume, que é um processo para que os cabelos caiam mais disciplinados", explica.

Combina com qual formato de rosto?

É preciso ter em mente que o micro bob de Manu Gavassi atrai toda atenção para a face, realçando também a região do pescoço. O corte dá impressão de afinar a fisionomia porque as mechas acompanham a linha do queixo, fazendo com que os fios contornem levemente o rosto.

"O corte micro bob é um tipo de cabelo que precisa de uma mulher com atitude, longilínea, com pescoço bem desenhado e projetado. Eu costumo dizer que todo e qualquer corte precisa ser carregado de muita personalidade, particularmente nesse style. Você precisa ter um rosto anguloso e marcante", acredita o hairstylist César Neubert, do Crystal Hair no Rio de Janeiro.

Micro bob pede manutenção

Ao contrário dos fios longos, no micro bob, pontas duplas, ressecamento e frizz aparecem muito mais. E ao mesmo tempo em que este cabelo é super prático no dia a dia, também necessita de cuidados extras para mantê-lo sempre hidratado e bonito. "A mulher precisa ter a preocupação de arrumar esse cabelo antes de sair de casa. Há cabelos que necessitam da oleosidade natural para ter um caimento melhor, então indico lavar um dia sim, outro não", diz Neubert.

O micro bob pode ser usado lisinho apenas com um leave in ou creme para pentear leve para não pesar na finalização. Ou com uma textura estilizada, com o ondulado do babyliss ou efeito wet hair do mousse ou gel.

Tratamentos de nutrição periódicas, com boas máscaras capilares, também são indicados para manter as madeixas saudáveis.E, por ser um corte geométrico, o micro bob requer manutenção regular. "Este cabelo precisa ser cortado religiosamente a cada 30 dias, no máximo 40 dias, para manter os fios perfeitos no shape escolhido", garante Marcos Proença.