Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniele Prada

Borda Radial GRADIENTE

Recommended Posts

Olá pessoal, Eu queria aplicar nos avatares do meu site, uma borda radial de cor gradiente exatamente como a usada no instagram (imagem). A imagem, a borda está devidamente pronta mas ja tentei VARIOS códigos css e não consegui colocar a cor da borda em degradê como na imagem. Alguém poderia me ajudar?

WhatsApp Image 2018-05-06 at 22.03.41.jpeg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja um exemplo funcionando nessa Pen que eu criei

 

A seguir os códigos na Pen.
Adapte as dimensões para as suas necessidades.

 

HTML

<div><img src="caminho/imagem do avatar"></div>

CSS:

div {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-image: linear-gradient(45deg, #ff0, #f00, #90c)
}
div:before{
  content: '';
  display: block;
  width: 180px;
  height: 180px;
  position: absolute;
  top: 10px;
  left: 10px;
  background: white;
  border-radius: 50%;
  }
img {
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50px, -50px);
  border-radius: 20px;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Maujor. Pelo que eu intendi, este código seria um background inteiro gradiente com o background da imagem branco. O que eu preciso é realmente uma borda em degradê apenas por que como eu utilizo uma plataforma da rede em php, eu teria que fazer outras alterações que seriam mais complicadas. o código que eu tenho nela é o seguinte:

 

.panel-users .user-picture-wrapper {
    padding: 2px;
    border: 2px solid #661577;
    border-radius: 50%;
}
.panel-users .user-picture {
    position: relative;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #eee;
    width: 100%;
    height: 100%;
    padding-top: 100%;
    border-radius: 50%;
    cursor: pointer;
}

E tenho o resultado abaixo :

 

https://imgur.com/a/Dic2AGh

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, Maujor disse:

@Daniele Prada

Poste a marcação HTML para eu analisar.

 <!-- stories -->
                            {if $system['stories_enabled']}
                                <div class="panel panel-default panel-users">
                                    <div class="panel-heading light no_border">
                                        <strong class="text-muted">{__("Stories")}</strong>
                                        <div class="x-muted text-clickable pull-right flip">
                                            <i class="fa fa-info-circle" data-toggle="tooltip" data-placement="top" title='{__("Histórias são fotos e vídeos das últimas 24hs")}'></i>
                                        </div>
                                        
                                    </div>
                                    <div class="panel-body pt5">
                                        <div class="row">
                                            <!-- add new story -->
                                            <div class="col-xs-2">
                                                <div class="user-picture" data-toggle="modal" data-url="posts/story.php?do=create" style="background-image:url({$user->_data['user_picture']});">
                                                    <div class="add">
                                                        <i class="fa fa-plus-circle"></i>
                                                    </div>
                                                </div> 
                                            </div>
                                            <!-- add new story -->

                                            <!-- users stories -->
                                            {foreach $stories as $story}
                                                <div class="col-xs-2">
                                                    <div class="user-picture-wrapper">
                                                        <div class="user-picture js_story" style="background-image:url({$story['user_picture']});" data-items='{$story["media"]}' data-toggle="tooltip" data-placement="top" title='{__("Veja a história de")} {$story["user_firstname"]} {$story["user_lastname"]}'>
                                                        </div>    
                                                    </div>
                                                </div>
                                            {/foreach}
                                            <!-- users stories -->

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes:

1-) Acrescente o seguinte no script:

<div class="col-xs-2">
<div class="borda"> <!-- <=================ACRESCENTE -->
  <div class="user-picture" data-toggle="modal" data-url="posts/story.php?do=create" style="background-image:url({$user->_data['user_picture']});">
    <div class="add">
     <i class="fa fa-plus-circle"></i>
    </div>
  </div>
</div>
</div> <!-- <=================ACRESCENTE -->

Acrescente na CSS:

.panel-users .user-picture {
  /* declarações existentes permancem */
  transform: scale(.9); /* <==========ACRESCENTE */
}

/* ACRESCENTE A REGRA A SEGUIR */
.borda {
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #ff0, #f00, #90c) ;;
  border-radius: 50%;
  }

Deve resolver o avatar da GloboSex. Altere e informe para eu ver os demais avatares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O resultado ficou bem legal... mas a borda ficou diferente, por ter um background. ficou faltando uma pequena borda branca, entre a imagem e a borda gradiente. Nossa, eu não sabia que era tão difícil uma simples borda colorida haha que demanda

 

ficou assim --> https://imgur.com/a/20Jsi16

 

exemplo do insta --> https://imgur.com/a/kTodWz4

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, Maujor disse:

defina:


.panel-users .user-picture {
  ...
  border: 2px solid white;
}

 

 

Eu ja havia tentado isto ... mas a imagem fica ovalada e não consegui corrigir

--> https://imgur.com/a/dfIwFk2

 

Outra questão, é que no desktop, não abre nada, as bordas só aparecem na dimenção para tablet ou smartphone. :expressionless:

--> https://imgur.com/a/AyXxscK

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigi o problema do tamanho... 

padding-top: 95%;

 

E o efeito não aparecia no desktop por que havia colocado o css na área errada... que estava com a limitação ..

 

@media (max-width: 767px) {

:grimace:

 

Agora sim ficou perfeito! só quero tentar deixar a borda um pouco mais fina 

 

-->  https://imgur.com/a/19vNsQC  <--

Compartilhar este post


Link para o post
Compartilhar em outros sites

A espessura das duas bordas são controladas conforme mostrado a seguir:

.panel-users .user-picture {
    border: 3px solid white; /* espessura da borda branca */
    transform: scale(.9); /* espessura da borda instagram, mais fina altere para .91,.92,.93 ... */
   ...
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Daniele Prada disse:

Espero poder contribuir muito no futuro aqui com as coisas que venho aprendendo! 

@Daniele Prada
 Esta vai ser a melhor forma de me agradecer pela ajuda que te dei.

 

Em tempo: Não se esqueça de estudar e revisar o que fizemos para entender o que foi feito. ;)  

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 09/05/2018 at 07:51, Maujor disse:

@Daniele Prada
 Esta vai ser a melhor forma de me agradecer pela ajuda que te dei.

 

Em tempo: Não se esqueça de estudar e revisar o que fizemos para entender o que foi feito. ;)  

Estou fazendo isso sim, é muito gratificante poder aprender com essas tarefas. mais uma vez mt obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por thailangodoy
      Boa tarde amigos,
       
      Quero copiar o efeito hover, que aparece na foto de perfil do login, o qual consiste em uma borda externa, que não influencia no tamanho.
       
      Tentei atribuiu o box-sizing:border-box; // ele diminui a imagem e traz a borda para dentro.
       


    • Por Lmdpires
      Olá tenho uma imagem num site com border, só que aparece um espaço na parte inferior da imagem que n percebo porque está a aparecer.
       
      O código CSS é o seguinte:

      .vencedor_comp_futebol  {
        float: right;
        margin: 20px 0 0 20px;
        border: 2px solid #FFBF00;  
      }
       
      A imagem q aparece no site está em anexo.
       
      Podem ajudar-me?

    • Por Rasp
      Pessoal, bom dia.
      Estou convertendo um layout de um cliente para responsivo. Durante a jornada, estou tirando vários elementos que foram desenvolvidos com imagens e os convertendo para CSS, porém, estou com uma dúvida: Como fazer um "border radius inverso" (conforme imagem anexo)?
      Lembro de muito tempo atrás ter visto algo semelhante em algum blog (não me lembro se feito com css ou jquery), porém, não consigo encontrar ou não estou sabendo como pesquisar.
       
      Alguém poderia me dar um help?
       
      Obrigado!

    • Por caiohaag
      Oi pessoal.
      Estou estudando html e css.
      A pessoa que me ensinou deu a dica de colocar bordas vermelhas nos itens para eu enxergar os tamanhos de cada coisa durante a edição do css, porém eu fiz este projeto, e na hora de remover as bordas ele distorce.
      Se alguém puder me dar uma luz de porque isso está acontecendo, eu fico agradecido.
       
      https://github.com/caiohaag/polo360
       
      Att.
      Caio Haag
    • Por andrebogliari
      Olá pessoal, tudo bem?
       
      Faz um semana que comecei aprender html/css e estou com uma dúvida em relação a utilização do CSS.
       
      Estava estilizando um site com o CSS, quando me deparei com uma "falta de padrão". (ilustrado na FIG.1)
       
      Na FIG. 1 fica difícil de reparar, porém na FIG. 2 que anexei, fica evidente que o tamanho do texto impacta no comprimento da border-top. Entretanto, gostaria que a border-top tivesse um tamanho padrão independente do tamanho do texto que eu digitasse. 
       
      Tentei exaustivamente alterar o valor de padding e margin dos elementos, mas tudo em vão.
       
      Existe alguma solução para isto? Se for preciso posso postar o código feito até então..
       
      Obrigado desde já!
       
      FIG. 1

       
      FIG. 2

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.