Je voudrais avoir une div qui ressemble à ceci :
Est-il possible de le faire avec HTML + CSS ? Je vais également animer cette div avec jQuery. Lorsque la div est masquée, je voudrais que le titre et la ligne du haut s'affichent.
Je voudrais avoir une div qui ressemble à ceci :
Est-il possible de le faire avec HTML + CSS ? Je vais également animer cette div avec jQuery. Lorsque la div est masquée, je voudrais que le titre et la ligne du haut s'affichent.
Vous pouvez faire quelque chose comme ceci, où vous définissez une marge
négative sur le h1
(ou tout autre en-tête que vous utilisez)
div{
height:100px;
width:100px;
border:2px solid black;
}
h1{
width:30px;
margin-top:-10px;
margin-left:5px;
background:white;
}
Note : vous devez définir un fond
ainsi qu'une largeur
sur le h1
Exemple : http://jsfiddle.net/ZgEMM/
ÉDITER
Pour que cela fonctionne en cachant le div
, vous pourriez utiliser du jQuery comme ceci
$('a').click(function(){
var a = $('h1').detach();
$('div').hide();
$(a).prependTo('body');
});
(Vous devrez modifier...)
Exemple #2 : http://jsfiddle.net/ZgEMM/4/
Je sais un peu tard pour la fête, cependant je pense que les réponses pourraient nécessiter plus d'investigation/d'input. J'ai réussi à créer la situation sans utiliser la balise fieldset - ce n'est de toute façon pas correct car si je ne suis pas dans un formulaire alors je ne devrais pas vraiment le faire.
/* Les styles vont ici */
#info-block section {
border: 2px solid black;
}
.file-marker > div {
padding: 0 3px;
height: 100px;
margin-top: -0.8em;
}
.box-title {
background: white none repeat scroll 0 0;
display: inline-block;
padding: 0 2px;
margin-left: 8em;
}
Audit Trail
Ceci peut être vu dans ce plunk:
Ce que cela réalise est le suivant:
pas d'utilisation de balises fieldset.
utilisation minimale de CSS pour créer un effet avec juste quelques paddings.
Utilisation de "em" margin top pour créer un titre relatif à la police.
utilisation de display inline-block pour obtenir une largeur naturelle autour du texte.
Quoi qu'il en soit, j'espère que cela aidera les futurs stylistes, on ne sait jamais.
.box{
background-image: url("https://i.stack.imgur.com/N39wV.jpg");
width: 350px;
padding: 10px;
}
/*commencer le premier cadre*/
.first{
width: 300px;
height: 100px;
margin: 10px;
border-width: 0 2px 0 2px;
border-color: #333;
border-style: solid;
position: relative;
}
.first span {
position: absolute;
display: flex;
right: 0;
left: 0;
align-items: center;
}
.first .foo{
top: -8px;
}
.first .bar{
bottom: -8.5px;
}
.first span:before{
margin-right: 15px;
}
.first span:after {
margin-left: 15px;
}
.first span:before , .first span:after {
content: ' ';
height: 2px;
background: #333;
display: block;
width: 50%;
}
/*commencer le deuxième cadre*/
.second{
width: 300px;
height: 100px;
margin: 10px;
border-width: 2px 0 2px 0;
border-color: #333;
border-style: solid;
position: relative;
}
.second span {
position: absolute;
top: 0;
bottom: 0;
display: flex;
flex-direction: column;
align-items: center;
}
.second .foo{
left: -15px;
}
.second .bar{
right: -15.5px;
}
.second span:before{
margin-bottom: 15px;
}
.second span:after {
margin-top: 15px;
}
.second span:before , .second span:after {
content: ' ';
width: 2px;
background: #333;
display: block;
height: 50%;
}
FOO
BAR
FOO
BAR
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.