【发布时间】:2016-12-14 04:48:30
【问题描述】:
使用下面的twitter嵌入方法(https://dev.twitter.com/web/embedded-timelines)专门使用网格布局,有没有办法控制背景颜色?
上下文中的问题:http://bitly.com/2aFUuhj
我想更新的样式在“GridLayoutTextOnlyTweet”类中,但它在 iFrame 中。
【问题讨论】:
使用下面的twitter嵌入方法(https://dev.twitter.com/web/embedded-timelines)专门使用网格布局,有没有办法控制背景颜色?
上下文中的问题:http://bitly.com/2aFUuhj
我想更新的样式在“GridLayoutTextOnlyTweet”类中,但它在 iFrame 中。
【问题讨论】:
很好的答案,但后来我这样做了,黑暗主题立即为我工作
data-theme="dark"
【讨论】:
prefers-color-scheme。我找不到任何让样式自动切换的干净方法,尤其是因为您似乎无法从 JS 中获取 prefersColorScheme 值。我想出的最佳解决方案是同时渲染明暗,并用 CSS 交换显示哪一个。
如果您使用 https://publish.twitter.com 嵌入的新 Twitter,您只需添加 data-chrome="transparent" 以使背景透明,那么您可以只使用带有背景颜色集的包装器元素。
到代码块
<a class="twitter-timeline" data-dnt="true" data-chrome="transparent" data-link-color="#ffcc00" href="https://twitter.com/StackOverflow">Tweets by StackOverflow</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
其他可用选项有:
data-chrome="transparent nofooter noborders noheader noscrollbar"
文档:
https://developer.twitter.com/en/docs/twitter-for-websites/timelines/overview
【讨论】:
a.twitter-timeline {
/* Buttonish */
display: inline-block;
padding: 6px 12px 6px 30px;
margin: 10px 0;
border: #ccc solid 1px;
border-radius: 3px;
background: #f8f8f8 url("") 8px 8px no-repeat;
background-size: 1em 1em;
/* Text */
font: normal 12px/18px Helvetica, Arial, sans-serif;
color: #333;
white-space: nowrap;
}
【讨论】:
对,我就是这样解决的。将其放在 twitter 嵌入之后:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
var hideTwitterAttempts = 0;
function hideTwitterBoxElements() {
setTimeout( function() {
if ( $('[id*=twitter]').length ) {
$('[id*=twitter]').each( function(){
var ibody = $(this).contents().find( 'body' );
if ( ibody.find( '.grid-Widget' ).length ) {
ibody.find( '.GridLayoutTextOnlyTweet' ).css( 'background-color', '#1e73be' );
}
else {
$(this).hide();
}
});
}
hideTwitterAttempts++;
if ( hideTwitterAttempts < 3 ) {
hideTwitterBoxElements();
}
}, 1500);
}
// somewhere in your code after html page load
hideTwitterBoxElements();
</script>
【讨论】:
你可以这样做:
.GridLayoutTextOnlyTweet {
background: red;
}
它在 iframe 中并不重要。您可能需要添加!important 来覆盖默认样式,但不要先尝试。
【讨论】: