X (twitter) responsive + customizations

X (twitter) website is more suitable for wide screens.

  1. /* ==UserStyle==
  2. @name X (twitter) responsive + customizations
  3. @version 1.0.11
  4. @description X (twitter) website is more suitable for wide screens.
  5. @author BreatFR (https://breat.fr)
  6. @namespace https://gitlab.com/breatfr
  7. @homepageURL https://gitlab.com/breatfr/x-twitter
  8. @supportURL https://discord.gg/Q8KSHzdBxs
  9. @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
  10. @preprocessor stylus
  11.  
  12. @var checkbox hidegrok "Hide Grok" 0
  13. @var checkbox hidemessages "Hide messages" 0
  14. @var checkbox hidepremium "Hide premium" 1
  15. @var checkbox hidesidebarleft "Hide sidebar on left" 0
  16. @var checkbox hidesidebarright "Hide sidebar on right" 0
  17. @var checkbox logocentred "Logo centred" 1
  18. @var select previewtype "Preview type" {
  19. "Contain + Blur": "previewtypecontainblur",
  20. "Contain": "previewtypecontain",
  21. "Cover": "previewtypecover"
  22. }
  23. @var checkbox oldlogo "Old logo" 0
  24. @var checkbox widemode "Wide mode" 1
  25. ==/UserStyle== */
  26.  
  27. /* === Credits ===
  28. Website https://breat.fr
  29. facebook https://www.facebook.com/breatfroff
  30. mastodon https://mastodon.social/@breat_fr
  31. telegram https://t.me/breatfr
  32. vk https://vk.com/breatfroff
  33. X (twitter) https://x.com/breatfroff
  34. === Credits === */
  35.  
  36. @-moz-document domain("x.com") {
  37. /* ===================================================================================================================================
  38. Version
  39. =================================================================================================================================== */
  40. :root {
  41. --themeversion: 'Theme v1.0.11 by BreatFR \A';
  42. --install1: ' usercssjs.breat.fr \A';
  43. --install2: ' gitlab.com/breatfr/x-twitter \A \A';
  44. --support1: ' ko-fi.com/breatfr \A';
  45. --support2: ' paypal.me/breat';
  46. }
  47.  
  48. header::after {
  49. background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
  50. background-clip: text;
  51. -webkit-background-clip: text;
  52. bottom: 75px;
  53. color: transparent;
  54. content: var(--themeversion) 'Install: \A' url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_breat.fr.png") var(--install1) url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_gitlab.png") var(--install2) 'Support me: \A' url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_ko-fi.png") var(--support1) url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_paypal.png") var(--support2);
  55. display: block;
  56. font-family: TwitterChirp, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  57. font-size: 1.2rem;
  58. left: .5rem;
  59. line-height: 20px;
  60. max-width: 256px;
  61. pointer-events: none;
  62. position: fixed;
  63. text-align: center;
  64. width: 100%;
  65. white-space: pre-line;
  66. }
  67. /* ===================================================================================================================================
  68. Hide scrollbars
  69. =================================================================================================================================== */
  70. * {
  71. scrollbar-width: none !important;
  72. -ms-overflow-style: none !important;
  73. }
  74. ::-webkit-scrollbar {
  75. height: 0 !important;
  76. width: 0 !important;
  77. }
  78. /* ===================================================================================================================================
  79. Header
  80. =================================================================================================================================== */
  81. header {
  82. align-items: flex-start !important;
  83. flex-grow: 0 !important;
  84. margin-left: -3% !important;
  85. max-width: 335px !important;
  86. -webkit-box-align: start !important;
  87. }
  88. /* Logo */
  89. if logocentred {
  90. #react-root > div > div > div.css-175oi2r.r-1f2l425.r-13qz1uu.r-417010.r-18u37iz > header > div > div > div > div.css-175oi2r.r-1habvwh > div.css-175oi2r.r-dnmrzs.r-1559e4e {
  91. transform: translateX(195%);
  92. }
  93. }
  94. if hidegrok {
  95. [aria-label*="Grok"],
  96. [aria-label="Profile summary"],
  97. [aria-label="Résumé du profil"],
  98. [data-testid*="Grok"] {
  99. display: none;
  100. }
  101. }
  102. if oldlogo {
  103. div[data-testid=interstitialGraphic] svg.r-13v1u17,
  104. h1 > a[href="/home"] svg,
  105. svg[aria-label="Twitter"],
  106. #placeholder svg {
  107. background-color: rgb(29, 155, 240);
  108. fill: none;
  109. mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGNsYXNzPSJyLTEzdjF1MTcgci00cXRxcDkgci15eXl5b28gci0xNnkydW94IHItOGt6MGdrIHItZG5tcnpzIHItYm53cWltIHItMXBsY3J1aSByLWxydmliciByLWxyc2xscCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Zz48cGF0aCBkPSJNMjMuNjQzIDQuOTM3Yy0uODM1LjM3LTEuNzMyLjYyLTIuNjc1LjczM2E0LjY3IDQuNjcgMCAwIDAgMi4wNDgtMi41NzggOS4zIDkuMyAwIDAgMS0yLjk1OCAxLjEzIDQuNjYgNC42NiAwIDAgMC03LjkzOCA0LjI1IDEzLjIyOSAxMy4yMjkgMCAwIDEtOS42MDItNC44NjhjLS40LjY5LS42MyAxLjQ5LS42MyAyLjM0MkE0LjY2IDQuNjYgMCAwIDAgMy45NiA5LjgyNGE0LjY0NyA0LjY0NyAwIDAgMS0yLjExLS41ODN2LjA2YTQuNjYgNC42NiAwIDAgMCAzLjczNyA0LjU2OCA0LjY5MiA0LjY5MiAwIDAgMS0yLjEwNC4wOCA0LjY2MSA0LjY2MSAwIDAgMCA0LjM1MiAzLjIzNCA5LjM0OCA5LjM0OCAwIDAgMS01Ljc4NiAxLjk5NSA5LjUgOS41IDAgMCAxLTEuMTEyLS4wNjUgMTMuMTc1IDEzLjE3NSAwIDAgMCA3LjE0IDIuMDkzYzguNTcgMCAxMy4yNTUtNy4wOTggMTMuMjU1LTEzLjI1NCAwLS4yLS4wMDUtLjQwMi0uMDE0LS42MDJhOS40NyA5LjQ3IDAgMCAwIDIuMzIzLTIuNDF6Ii8+PC9nPjwvc3ZnPg==');
  110. -webkit-mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGNsYXNzPSJyLTEzdjF1MTcgci00cXRxcDkgci15eXl5b28gci0xNnkydW94IHItOGt6MGdrIHItZG5tcnpzIHItYm53cWltIHItMXBsY3J1aSByLWxydmliciByLWxyc2xscCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Zz48cGF0aCBkPSJNMjMuNjQzIDQuOTM3Yy0uODM1LjM3LTEuNzMyLjYyLTIuNjc1LjczM2E0LjY3IDQuNjcgMCAwIDAgMi4wNDgtMi41NzggOS4zIDkuMyAwIDAgMS0yLjk1OCAxLjEzIDQuNjYgNC42NiAwIDAgMC03LjkzOCA0LjI1IDEzLjIyOSAxMy4yMjkgMCAwIDEtOS42MDItNC44NjhjLS40LjY5LS42MyAxLjQ5LS42MyAyLjM0MkE0LjY2IDQuNjYgMCAwIDAgMy45NiA5LjgyNGE0LjY0NyA0LjY0NyAwIDAgMS0yLjExLS41ODN2LjA2YTQuNjYgNC42NiAwIDAgMCAzLjczNyA0LjU2OCA0LjY5MiA0LjY5MiAwIDAgMS0yLjEwNC4wOCA0LjY2MSA0LjY2MSAwIDAgMCA0LjM1MiAzLjIzNCA5LjM0OCA5LjM0OCAwIDAgMS01Ljc4NiAxLjk5NSA5LjUgOS41IDAgMCAxLTEuMTEyLS4wNjUgMTMuMTc1IDEzLjE3NSAwIDAgMCA3LjE0IDIuMDkzYzguNTcgMCAxMy4yNTUtNy4wOTggMTMuMjU1LTEzLjI1NCAwLS4yLS4wMDUtLjQwMi0uMDE0LS42MDJhOS40NyA5LjQ3IDAgMCAwIDIuMzIzLTIuNDF6Ii8+PC9nPjwvc3ZnPg==');
  111. mask-position: center;
  112. mask-repeat: no-repeat;
  113. -webkit-mask-position: center;
  114. -webkit-mask-repeat: no-repeat;
  115. }
  116. }
  117. /* ===================================================================================================================================
  118. Wide mode
  119. =================================================================================================================================== */
  120. if widemode {
  121. main > div {
  122. width: 100% !important;
  123. }
  124. [data-testid="primaryColumn"] {
  125. max-width: calc(100% - 370px) !important;
  126. }
  127. [data-testid="sidebarColumn"] {
  128. margin-right: 10px !important;
  129. }
  130. }
  131.  
  132. /* ===================================================================================================================================
  133. Photos/Videos
  134. =================================================================================================================================== */
  135. [data-testid="cellInnerDiv"] {
  136. .css-175oi2r.r-1adg3ll.r-1udh08x {
  137. height: 100% !important;
  138. width: 100% !important;
  139. }
  140. a[href*="https://pbs.twimg.com/media/"] > div {
  141. align-items: center !important;
  142. height: 100% !important;
  143. min-width: 100% !important;
  144. }
  145. .r-k200y {
  146. align-self: unset;
  147. }
  148. }
  149. .r-1ye8kvj {
  150. max-width: 100%;
  151. }
  152.  
  153. /* ===================================================================================================================================
  154. Preview type
  155. =================================================================================================================================== */
  156. if (previewtype=="previewtypecontainblur") {
  157. img.css-9pa8cd {
  158. backdrop-filter: blur(100px);
  159. -o-backdrop-filter: blur(100px);
  160. -moz-backdrop-filter: blur(100px);
  161. -ms-backdrop-filter: blur(100px);
  162. -webkit-backdrop-filter: blur(100px);
  163. object-fit: contain;
  164. opacity: 1;
  165. }
  166. }
  167. if (previewtype=="previewtypecontain") {
  168. img.css-9pa8cd {
  169. object-fit: contain;
  170. opacity: 1;
  171. }
  172. }
  173. if (previewtype=="previewtypecover") {
  174. img.css-9pa8cd {
  175. object-fit: cover;
  176. opacity: 1;
  177. }
  178. }
  179. /* Make images/videos start under avatar */
  180. .css-175oi2r.r-9aw3ui.r-1s2bzr4 {
  181. margin-left: -50px;
  182. }
  183. /* ===================================================================================================================================
  184. Hide messages
  185. =================================================================================================================================== */
  186. if hidemessages {
  187. [style="position: absolute; bottom: 0px; width: 100%; transition: transform 300ms ease 0s; transform: translateY(0px);"] {
  188. display: none;
  189. }
  190. }
  191. /* ===================================================================================================================================
  192. Hide premium
  193. =================================================================================================================================== */
  194. if hidepremium {
  195. [aria-label="Premium"],
  196. a[href="/i/premium_sign_up"],
  197. a[href="/i/verified-choose"],
  198. a[href="/i/verified-orgs-signup"],
  199. .css-175oi2r.r-1hycxz.r-gtdqiz > div > div > div > div:nth-child(3),
  200. .r-uaa2di {
  201. display: none !important;
  202. }
  203. }
  204.  
  205. /* ===================================================================================================================================
  206. Hide sidebar on left
  207. =================================================================================================================================== */
  208. if hidesidebarleft {
  209. header[role="banner"] {
  210. display: none;
  211. }
  212. }
  213.  
  214. /* ===================================================================================================================================
  215. Hide sidebar on right
  216. =================================================================================================================================== */
  217. if hidesidebarright {
  218. [data-testid="sidebarColumn"] {
  219. display: none;
  220. }
  221. [data-testid="primaryColumn"] {
  222. max-width: 100% !important;
  223. }
  224. [data-testid="cellInnerDiv"] {
  225. .css-175oi2r.r-1adg3ll.r-1udh08x {
  226. height: auto !important;
  227. width: 100% !important;
  228. }
  229. a[href*="https://pbs.twimg.com/media/"] > div {
  230. height: 100% !important;
  231. min-width: 100% !important;
  232. }
  233. .r-k200y {
  234. align-self: unset;
  235. }
  236. }
  237. }
  238. }
  239.  
  240. @-moz-document url-prefix("https://x.com/i/communities/suggested") {
  241. /* ===================================================================================================================================
  242. Fix suggested communities view
  243. =================================================================================================================================== */
  244. .css-175oi2r.r-1q9bdsx.r-1b7u577.r-1udh08x.r-7bouqp,
  245. .css-175oi2r.r-1adg3ll.r-1udh08x {
  246. height: 96px !important;
  247. width: 96.95px !important;
  248. }
  249. img.css-9pa8cd {
  250. min-height: 96px !important;
  251. max-width: 96.95px !important;
  252. }
  253. }
  254.  
  255. @-moz-document url-prefix("https://x.com/settings/") {
  256. /* ===================================================================================================================================
  257. Settings
  258. =================================================================================================================================== */
  259. if widemode {
  260. [aria-labelledby="root-header"] {
  261. min-width: fit-content !important;
  262. }
  263. [aria-labelledby="detail-header"] {
  264. max-width: calc(100% - 296px - 275px) !important;
  265. }
  266. }
  267. }
  268.  
  269. @-moz-document url-prefix("https://devcommunity.x.com/") {
  270. .menu-panel.drop-down {
  271. left: 0% !important;
  272. }
  273. }
  274.  
  275. @-moz-document regexp("https:\\/\\/x\\.com\\/[^\\/]+\\/status\\/[^\\/]+") {
  276. /* Make images/videos start under avatar */
  277. .css-175oi2r.r-9aw3ui.r-1s2bzr4 {
  278. margin-left: 0 !important;
  279. }
  280. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址