Cibler une classe css dans une autre classe css

90

Salut, j'ai des problèmes avec certaines classes css dans joomla. J'ai deux div dans un module, l'un est le wrapper class = "wrapper", l'autre est le content class = "content". Le contenu est à l'intérieur du wrapper. Ce que j'essaie de faire, c'est de cibler un style css sur la classe de contenu. Habituellement, je mettrais simplement .content {mes informations de style} dans la feuille de style, mais le problème est que cette classe est utilisée plusieurs fois dans la page. Donc, dans le backend, vous pouvez attribuer un nom de classe à un module, j'ai donc appelé celui-ci .testimonials.

Afin de ne pas modifier toutes les autres classes de contenu de la page, j'essaie de la cibler en mettant ceci:

.testimonials .content {my style info I am trying to apply} 

mais cela ne fonctionne pas, je sais que vous pouvez le faire avec les divs, donc

#testimonials .content {my style info I am trying to apply} 

mais ma question est est-ce que cela peut être fait avec des classes?, si tel est le cas, quelque chose ne va pas car j'essaie d'utiliser ce qui suit:

.testimonials .content {font-size:12px; width:300px !important;}

comme pour une raison quelconque, le contenu ne s'enroule pas et disparaît simplement de la page à la fin du paragraphe, j'essaie donc de m'assurer que la classe de premier niveau où se trouve le contenu ne chevauche rien, la chose étrange est même si je corrige la classe div dans laquelle se trouve le contenu à 50px, il n'enveloppera toujours pas le texte, donc je ne suis pas sûr si je le cible correctement?.

éditer >>>>>>>>>> ..

Le html que Joomla crée ressemble essentiellement à ceci >>

<div class="wrapper">
<div class="content">SOME CONTENT</div
</div>

puis il est enveloppé dans un million d'autres divs dans le bon vieux style Joomla.

J'ai donné au module la classe des témoignages, donc ça finit par ressembler à quelque chose comme:

<div class="testimonials">
 <div class="wrapper">
<div class="content">SOME CONTENT</div
</div>
</div>

EDIT 3 >>>>>>> OK, c'est ce qu'il crache

<div class="testimonials">
   <div class="key4-block">
      <div class="module-title"><h2 class="title">Client Testimonials</h2></div>
         <div class="key4-module-inner">
            <div class="module-content">                                
               <script type="text/javascript">
                 RokStoriesImage['rokstories-184'].push('');
                 RokStoriesImage['rokstories-184'].push('');
                 RokStoriesImage['rokstories-184'].push('');
            </script>
         <div id="rokstories-184" class="rokstories-layout6 content-left"  >
           <div class="feature-block">        
            <div class="feature-wrapper">
              <div class="feature-container">
                 <div class="feature-story">
                    <div class="image-full" style="float: right">
                        <img src="/sos/" alt="image" />                            
                    </div>
                    <div class="desc-container">
                        <div class="wrapper">                                                        
                           <span class="content"><p>Arrived in under 30 mins and got my pride and joy home in one piece, the day it conked out on me.</p>
                           <p>- Mr A Another</p></span>                                
                        </div>
                    </div>
                </div>
                <div class="feature-story">
                   <div class="image-full" style="float: right">
                      <img src="/sos/" alt="image" />                            
                   </div>
                   <div class="desc-container">        
                      <div class="description">                                                        
                         <span class="feature-desc">
                            <p>Great Service ! , SOS came to the rescue me in no time at all and made my day.</p>
    <p>- a customer</p>
                          </span>                                
                      </div>
                   </div>
                </div>
              </div>
           </div>
        </div>
      </div>

MODIFIER 4 >>>>>>

C'est ce qu'il fait

entrez la description de l'image ici

Iain Simpson
la source
Eh bien, jusqu'à ce que vous montriez le balisage HTML pertinent, nous ne savons pas du tout ce que vous ciblez ...
David dit de réintégrer Monica le
Salut, ce n'est pas possible car le html est créé par joomla lui-même, sa partie de la construction dans le module de flux de nouvelles im essayant de changer
Iain Simpson
Donc? Laissez-le rendre une page, puis «afficher la source» et copier / coller l'extrait pertinent de la source. Sans quelque chose à voir, nous ne faisons que tâtonner dans le noir, et ce n'est pas constructif pour des réponses réelles et je devrai voter pour clôturer comme "pas une vraie question". Ce que je préfère ne pas faire, s'il y a une chance de vraiment vous aider.
David dit de réintégrer Monica le
ok, c'est fait, la classe de contenu continue essentiellement, au lieu d'être enveloppée, elle disparaît donc de l'écran, même si je fixe la largeur à 300 pixels, ce qui correspond à la taille de son parent
Iain Simpson

Réponses:

114

Je ne sais pas à quoi ressemble le HTML (cela aiderait avec les réponses). Si c'est

<div class="testimonials content">stuff</div>

puis supprimez simplement l'espace dans votre css. À la...

.testimonials.content { css here }

MISE À JOUR:

D'accord, après avoir vu HTML, voyez si cela fonctionne ...

.testimonials .wrapper .content { css here }

ou juste

.testimonials .wrapper { css here }

ou

.desc-container .wrapper { css here }

tous les 3 devraient fonctionner.

Scott
la source
merci je vais essayer, j'aurais posté du html, mais il est généré par Joomla, donc seulement un million de fichiers php
Iain Simpson
hmm c'est vraiment étrange, si je mets .content rien que par lui-même, puis que je mets tout 300px sur la page avec le contenu de la classe passe à 300px, à part ce que je veux changer, après une inspection plus approfondie avec firebug, sa classe est également contente , donc je n'ai aucune idée de ce qui en est la cause, je pense que je pourrais devoir emballer le site et le télécharger afin de montrer à tout le monde qu'il est sur une installation locale au mo.
Iain Simpson
Au moins, nous devons voir un peu de HTML. Peut-être pas la page entière, mais au moins la section pertinente.
Scott
J'ai essayé ce qui précède, mais toujours pas, le wrapper est une classe, alors ne devrait-il pas être .wrapper?
Iain Simpson
1
J'ai mal lu et ai édité, veuillez revoir. Sachez contentqu'être une étendue n'est pas un élément de bloc, donc aucune quantité de propriétés de largeur ne va changer cela. Vous devez modifier la largeur de.wrapper
Scott
22

J'utilise div au lieu de tables et je suis capable de cibler des classes dans la classe principale, comme ci-dessous:

CSS

.main {
    .width: 800px;
    .margin: 0 auto;
    .text-align: center;
}
.main .table {
    width: 80%;
}
.main .row {
   / ***something ***/
}
.main .column {
    font-size: 14px;
    display: inline-block;
}
.main .left {
    width: 140px;
    margin-right: 5px;
    font-size: 12px;
}
.main .right {
    width: auto;
    margin-right: 20px;
    color: #fff;
    font-size: 13px;
    font-weight: normal;
}

HTML

<div class="main">
    <div class="table">
        <div class="row">
            <div class="column left">Swing Over Bed</div>
            <div class="column right">650mm</div>
            <div class="column left">Swing In Gap</div>
            <div class="column right">800mm</div>
        </div>
    </div>
</div>

Si vous souhaitez styliser exclusivement une "cellule" particulière, vous pouvez utiliser une autre sous-classe ou l'id du div, par exemple:

.main #red {couleur: rouge; }

<div class="main">
    <div class="table">
        <div class="row">
            <div id="red" class="column left">Swing Over Bed</div>
            <div class="column right">650mm</div>
            <div class="column left">Swing In Gap</div>
            <div class="column right">800mm</div>
        </div>
    </div>
</div>
Jason Ebersey
la source