2013-02-13 19 views
6

So che questo è stato chiesto in altri thread ma quelle risposte non sono adatte al mio caso. Se si incorpora il pulsante follow Twitter da qui:Come modificare la larghezza del pulsante segui di Twitter?

https://twitter.com/about/resources/buttons

<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a> 
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> 

il JS sostituisce il legame con un iframe:

<iframe scrolling="no" frameborder="0" allowtransparency="true" src="http://platform.twitter.com/widgets/tweet_button.1360366574.html#_=1360791644346&amp;count=horizontal&amp;id=twitter-widget-0&amp;lang=en&amp;original_referer=http%3A%2F%2Fwww.foo.com%2Fsearch%2Fcats&amp;size=m&amp;text=Search%20Results%20for%20%22cats%22%20on%20Foo&amp;url=http%3A%2F%2Fwww.foo.com%2Fsearch%2Fcats" class="twitter-share-button twitter-count-horizontal" style="width: 109px; height: 20px;" title="Twitter Tweet Button" data-twttr-rendered="true"></iframe> 

Come si può vedere la larghezza è impostato come uno stile in linea . So che posso overide questo con qualcosa di simile:

.twitter-share-button { width: 80px !important; } 

per esempio, ma io non voglio farlo perché quello che se il Conte aumenti ad un numero molto grande su una particolare pagina di contenuti. Quindi il conteggio delle condivisioni verrà oscurato dalla larghezza minima.

C'è un modo per dire a Twitter di ridimensionare l'iframe di ritorno in base al conteggio delle condivisioni all'interno, in modo che non sia più grande della larghezza minima richiesta che deve essere?

So che Facebook accetta la larghezza desiderata tramite gli attributi dei dati data-width Credo e questo può essere impostato su automatico per ottenere il tipo di comportamento che sto chiedendo in precedenza. Twitter offre qualcosa di simile per il loro pulsante di condivisione?

Fiddle

+1

Il collegamento è in un iframe, non è possibile fare nulla nel CSS per modificarlo. Dovresti controllare se Twitter ti consente di cambiare gli stili con qualche api. L'impostazione della larghezza dell'iframe cambia le dimensioni del pulsante? – epascarello

+1

Ho lo stesso problema con il pulsante Segui di Twitter. Il codice JS produce HTML con una larghezza in linea che è più grande del pulsante attuale. Ciò rende impossibile il posizionamento preciso. Sostituire la larghezza con '! Important' non è una soluzione sostenibile in quanto il conteggio dei follower potrebbe aumentare, portando il pulsante a diventare più grande e quindi a" tagliare ". Qualcuno ha trovato una soluzione per questo problema? – Squrler

risposta

1

Invece di width, impostare un min-width:

.twitter-share-button { min-width: 80px !important; width: auto !important;} 
+0

il mio problema è che la larghezza di default è troppo grande. Impostare una larghezza minima non sarebbe d'aiuto. – TK123

+0

Puoi anche aggiungere 'width: auto'. Ho aggiornato la mia risposta. – zakangelle

+1

http://jsfiddle.net/3LxbJ/ lo ha reso più grande – TK123

1

Questo sembra essere un problema noto (vedi this Dev Twitter thread) che è stato in attesa di una soluzione efficace per quasi 2 anni, a partire dal adesso. Al momento sembra che non ci sia il clean modo di lasciare che la larghezza del pulsante corrisponda al suo contenuto attuale.
Uno potrebbe armeggiare con un javascript personalizzato, ma poi alla fine si colpisce il muro IFrame/CORS se si tenta di manipolare l'IFrame.

+0

Piuttosto patetico che un'azienda come Twitter ci stia mettendo così tanto tempo. –

+0

Fino ad ora, come soluzione temporanea, ho semplicemente impostato 'width' sull'elemento contenitore. – superjos

Problemi correlati