Ir para conteúdo
FabianoSouza

Aplicar border radius em mouseover numa TR

Recommended Posts

Gente, tenho as TRs da minha tabele já com os cantos arredondados (através das TDs first-child e last-child). Fiz dessa forma porque desconheço uma maneira de aplicar radius diretamente na TR.

 

O problema é que ao colorir a TR com o over do CSS, perde-se a formatação do border radius das TDs e exibe a TR com os cantos quadrados.

 

Preciso que os cantos fiquem arredondados mesmo ao passar o mouse sobre a TR.

 

Como resolvo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

border-radius não se aplica a trs
tente aplicando nas tds

tr:hover td:first-child{

 border-radius: 8px 0 0 8px;

}

tr:hover td:last-child{

 border-radius:0 8px 8px 0;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou usar pseudo ::before e ::after ?? 

/* arredondar as células da primeira e última coluna */
tr td:first-child::before,
tr td:last-child::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 10px; 
    background-color: white; 
}

/* primeira coluna */
tr td:first-child::before {
    left: 0;
    border-top-left-radius: 10px; 
    border-bottom-left-radius: 10px; 
}

/* última coluna */
tr td:last-child::after {
    right: 0;
    border-top-right-radius: 10px; 
    border-bottom-right-radius: 10px; 
}

/* quando o mouse passa sobre ela */
tr:hover {
    background-color: #000; 
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, Marcos_imasters disse:

tentou usar pseudo ::before e ::after ?? 


/* arredondar as células da primeira e última coluna */
tr td:first-child::before,
tr td:last-child::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 10px; 
    background-color: white; 
}

/* primeira coluna */
tr td:first-child::before {
    left: 0;
    border-top-left-radius: 10px; 
    border-bottom-left-radius: 10px; 
}

/* última coluna */
tr td:last-child::after {
    right: 0;
    border-top-right-radius: 10px; 
    border-bottom-right-radius: 10px; 
}

/* quando o mouse passa sobre ela */
tr:hover {
    background-color: #000; 
}

 

Infelizmente não funciona.

Veja abaixo o código completo, CSS + HTML.

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
<style>
table {padding:0 10px 0 10px; 
}

/* arredondar as células da primeira e última coluna */
tr td:first-child::before,
tr td:last-child::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 10px; 
    background-color: white; 
}

/* primeira coluna */
tr td:first-child::before {
    left: 0;
    border-top-left-radius: 10px; 
    border-bottom-left-radius: 10px; 
}

/* última coluna */
tr td:last-child::after {
    right: 0;
    border-top-right-radius: 10px; 
    border-bottom-right-radius: 10px; 
}

/* quando o mouse passa sobre ela */
tr:hover {
    background-color: #000; 
}
</style>
</head>

<body>
<table width="200" border="1">
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
		<tr>
				<td> </td>
				<td> </td>
				<td> </td>
		</tr>
</table>

</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 02/09/2023 at 00:08, tetsuo disse:

border-radius não se aplica a trs
tente aplicando nas tds


tr:hover td:first-child{

 border-radius: 8px 0 0 8px;

}

tr:hover td:last-child{

 border-radius:0 8px 8px 0;

}

 

Infelizmente não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites
table {
    margin: auto;
    border-collapse: separate;
    border-spacing: 0;
     border: 2px solid #ccc;
    border-radius: 10px;
   overflow: hidden;
}

tr {
     background-color: #333; 
    position: relative; 
    border-radius: 10px;
    transition: background-color 0.3s;
}


td {
    border: 1px solid #555;
    padding: 10px 30px;
    color: #FFF;
}
tr:hover td {
    background-color: red; 
}

ainda nao entedir a forma que voce deseja coloquei como você ja fez seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, Marcos_imasters disse:

table {
    margin: auto;
    border-collapse: separate;
    border-spacing: 0;
     border: 2px solid #ccc;
    border-radius: 10px;
   overflow: hidden;
}

tr {
     background-color: #333; 
    position: relative; 
    border-radius: 10px;
    transition: background-color 0.3s;
}


td {
    border: 1px solid #555;
    padding: 10px 30px;
    color: #FFF;
}
tr:hover td {
    background-color: red; 
}


ainda nao entedir a forma que voce deseja coloquei como você ja fez seria isso?

 

Oi @Marcos_imasters. Obrigado pela atenção ao meu problema.

 

Eu preciso que as TDs (primeira e última, de cada LINHA) fiquem com os cantos arredondados. 

Parece que a sua sugestão é para colunas.

 

Eu quero que pareça que cada TR tenha seus cantos arredondados. Como não é possível fazer isso diretamente na TR, preciso que a primeira e a última TD de cada LINHA tenha seus cantos arredondados.

Sendo a primeira TD (da cada linha) com o lado esquerdo arredondado, e a última TD (de cada linha) com o lado direito arredondado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
20 horas atrás, FabianoSouza disse:

 

Oi @Marcos_imasters. Obrigado pela atenção ao meu problema.

 

Eu preciso que as TDs (primeira e última, de cada LINHA) fiquem com os cantos arredondados. 

Parece que a sua sugestão é para colunas.

 

Eu quero que pareça que cada TR tenha seus cantos arredondados. Como não é possível fazer isso diretamente na TR, preciso que a primeira e a última TD de cada LINHA tenha seus cantos arredondados.

Sendo a primeira TD (da cada linha) com o lado esquerdo arredondado, e a última TD (de cada linha) com o lado direito arredondado.

 

Seria que nem o  washalbano disse? 

table {
  border-spacing: 1em;
  border-collapse: separate;
}
tr {
    background-color: #333; 
    position: relative; 
    border-radius: 10px;
    transition: background-color 0.3s;
}
tr:hover td {
    background-color: red; 
}
td {
  padding: 1rem 1.2rem;
  border-radius: 6px;
    border: 1px solid #555;
    color: #FFF;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Marcos_imasters disse:

Seria que nem o  washalbano disse? 


table {
  border-spacing: 1em;
  border-collapse: separate;
}
tr {
    background-color: #333; 
    position: relative; 
    border-radius: 10px;
    transition: background-color 0.3s;
}
tr:hover td {
    background-color: red; 
}
td {
  padding: 1rem 1.2rem;
  border-radius: 6px;
    border: 1px solid #555;
    color: #FFF;
}

 

Quase lá! Rsrs... O problema é o no hover do mouse... 

 

Se eu aplicar uma cor de fundo da TR no hover do mouse, perde-se o efeito de arredondamento das TD (primeira e última), a linha (TR) fica no estado normal (cantos quadrados)..

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 07/09/2023 at 00:10, washalbano disse:

GEcQPlFNSz283-ZitMF4vQ.png
consegue me mostrar screenshot de como ficou?

 

Show!! Agora funcionou perfeitamente @washalbano!!!
Muuuito obrigado, meu caro!!

Eu nunca vi essa estrutura de CSS que você criou. É isso que chamam de CSS aninhado? Me fala qual é o nome dessa técnica/macete para eu pesquisar mais.

 

Valew!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por Felipe Medeiros
      Bom, criei um tema filho e o que aprendi é que para alterar qualquer coisa do tema filho eu preciso copiar o arquivo do tema pai o colocar dentro da pasta do tema filho.
       
      No meu caso, estou usando o tema "Astra" bem famosinho. O arquivo css que quero modificar não está dentro da pasta do tema pai, está em "wp-content/uploads/uag-plugin/assets/0/uag-css-10.css" sendo que o diretorio do tema pai é "wp-content/themes/Astra"
       
      O problema é o seguinte, preciso modificar a barra de pesquisa da pagina inicial, porem o inspetor de elementos do chrome ta acusando que esse arquivo é o responsavel por estilizar a barra de pesquisa. Será que isso tem a ver com "Cache de objetos", eu sei que o plugin liteSpeed Cache, AMP, Rank Math, todos eles tem essas paradas de criar arquivos css e js para tornar o site mais rapido.
    • Por Alessandro Bodão
      Fala galerinha, 
       
      Tenho um container com um título (h1) no cabeçalho do meu site, esse container ocupa metade da tela (50vw), e eu gostaria que esse título ocupasse toda a largura desse container, independente do seu tamanho ou do tamanho do monitor, de forma com que a palavra tenha exactamente o mesmo tamanho do container (vou anexar uma foto de exemplo). Já tentei todos os valores pra essa h1, como % e vw... mas nada parece fazer sentido.
       
       

    • Por viniciusfroner
      Tenho um pequeno sistema de envio, estou utilizando o "PHPMailerAutoload". Após o usuário inserir as informações e clicar em enviar a mensagem é enviada com sucesso, o único problema é que apresentado ao usuário a seguinte mensagem:
      if ($enviado){ echo "E-mail enviado com sucesso!"; } else { echo "Não foi possível enviar o e-mail."; echo "<b>Informações do erro:</b> " . $msg->ErrorInfo; } Acabei procurando e não achei como posso remover a mensagem "Error:"
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
×

Informação importante

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