FurAffinity.net - Tweaks [Ath]

FurAffinity.net: various usability tweaks.

目前为 2025-02-14 提交的版本。查看 最新版本

  1. /* ==UserStyle==
  2. @name FurAffinity.net - Tweaks [Ath]
  3. @namespace furaffinity
  4. @version 1.0.1
  5. @description FurAffinity.net: various usability tweaks.
  6. @author Athari (https://github.com/Athari)
  7. @homepageURL https://github.com/Athari/AthariUserCSS
  8. @supportURL https://github.com/Athari/AthariUserCSS/issues
  9. @license MIT
  10. @preprocessor less
  11. @var checkbox ath-round-corners "Round corners" 1
  12. @var checkbox ath-search-top "Search form on top" 1
  13. @var checkbox ath-show-header-banner "Show header banner" 0
  14. @var checkbox ath-show-plus "Show FA+ & virtue signalling" 0
  15. @var checkbox ath-show-sub-extras "Show submission page redundancy" 0
  16. @var checkbox ath-limit-page-width "Constrain page width" 0
  17. @var checkbox ath-limit-image-height "Constrain submission height" 1
  18. @var checkbox ath-static-prev-next "Static prev & next buttons" 1
  19. @var range ath-rating-thickness "Submission rating border" [1, 0, 5, 1, 'px']
  20. ==/UserStyle== */
  21. @-moz-document domain("furaffinity.net") {
  22.  
  23. :root {
  24. --ath-border-radius: 16px;
  25. --ath-border-radius-inner: calc(var(--ath-border-radius) - 0px);
  26. }
  27.  
  28. & when (@ath-limit-page-width = 0) {
  29. html,
  30. body,
  31. .newsBlock,
  32. .generic-message-block,
  33. #ddmenu,
  34. userpage-nav-header {
  35. max-width: none;
  36. }
  37. }
  38.  
  39. section.gallery figure u>a {
  40. border-width: @ath-rating-thickness !important;
  41. }
  42.  
  43. & when (@ath-show-sub-extras = 0) {
  44.  
  45. .submission-sidebar {
  46. .buttons,
  47. .info.text > :nth-child(2),
  48. .info.text > :nth-child(3) {
  49. display: none !important;
  50. }
  51. }
  52. }
  53.  
  54. & when (@ath-limit-image-height = 1) {
  55.  
  56. #submissionImg {
  57. max-height: calc(100vh - 50px) !important;
  58. }
  59. .submission-area {
  60. padding: 0 !important;
  61. margin: 0 0 10px 0 !important;
  62. }
  63. }
  64.  
  65. & when (@ath-static-prev-next = 1) {
  66.  
  67. .submission-content {
  68. position: relative !important;
  69.  
  70. .favorite-nav {
  71. a:first-child[href*=view],
  72. a:last-child[href*=view] {
  73. position: absolute !important;
  74. opacity: 0.2 !important;
  75. transition: 150ms;
  76. transition-property: opacity;
  77. }
  78. &:hover a[href*=view] {
  79. opacity: 1.0 !important;
  80. }
  81. a:first-child[href*=view] {
  82. inset: 10px auto auto 10px !important;
  83. }
  84. a:last-child[href*=view] {
  85. inset: 10px 10px auto auto !important;
  86. }
  87. }
  88. &:has(.submission-area:hover) .favorite-nav {
  89. a:first-child,
  90. a:last-child {
  91. opacity: 1.0 !important;
  92. }
  93. }
  94. }
  95. }
  96.  
  97. & when (@ath-round-corners = 1) {
  98.  
  99. section,
  100. .stats-page,
  101. .submission-preview,
  102. #page-userpage :is(.userpage-profile, .userpage-section-right, .userpage-section-left) {
  103. border: none !important;
  104. border-radius: var(--ath-border-radius);
  105. box-shadow: #0016 2px 2px 3px 1px;
  106.  
  107. > :first-child {
  108. border-radius: var(--ath-border-radius-inner) var(--ath-border-radius-inner) 0 0;
  109. }
  110. > :last-child,
  111. :has(+ .section-footer:last-child),
  112. #gallery-latest-favorites {
  113. border-radius: 0 0 var(--ath-border-radius-inner) var(--ath-border-radius-inner);
  114. }
  115. > :only-child {
  116. border-radius: var(--ath-border-radius-inner) var(--ath-border-radius-inner) var(--ath-border-radius-inner) var(--ath-border-radius-inner);
  117. }
  118. }
  119. :is(section, #page-userpage, .submission-sidebar) section {
  120. box-shadow: none;
  121. }
  122.  
  123. .tags a {
  124. border-radius: 12px !important;
  125. }
  126.  
  127. button,
  128. .button {
  129. border-radius: 8px !important;
  130. }
  131. }
  132.  
  133. & when (@ath-show-header-banner = 0) {
  134.  
  135. #header {
  136. height: 0 !important;
  137. }
  138. #pageid-submission #header.has-adminmessage {
  139. padding-top: 54px;
  140. }
  141. site-banner {
  142. display: none !important;
  143. }
  144. userpage-nav-header {
  145. margin: 0 !important;
  146. }
  147. .news-block {
  148. top: 0px;
  149. background: none;
  150. z-index: 100000000;
  151. margin: 0 550px 0 750px;
  152. width: auto;
  153. #admin_notice_do_not_adblock2:only-child {
  154. margin-top: 13px;
  155. }
  156. }
  157. .newsBlock {
  158. font-size: inherit;
  159. line-height: 1.1em;
  160. padding: 3px;
  161. background: none;
  162. backdrop-filter: none;
  163. }
  164. }
  165.  
  166. & when (@ath-show-plus = 0) {
  167.  
  168. #ddmenu li {
  169. &.lileft:has(a[href^="/plus"]),
  170. a[href*="/blm/"] {
  171. display: none !important;
  172. }
  173. }
  174. #footer {
  175. a[href^="/plus"],
  176. small,
  177. br {
  178. display: none !important;
  179. }
  180. }
  181. usericon-block-before {
  182. display: none !important;
  183. }
  184. }
  185.  
  186. & when (@ath-search-top = 1) {
  187.  
  188. .ath-search-header-text(@text) {
  189. > h4 {
  190. font-size: 0 !important;
  191. &::after {
  192. content: @text;
  193. font-size: 15px !important;
  194. }
  195. }
  196. }
  197. .ath-search-label-text(@text) {
  198. > label {
  199. font-size: 0 !important;
  200. &::after {
  201. content: " " @text;
  202. font-size: 15px !important;
  203. }
  204. }
  205. }
  206.  
  207. #browse-search {
  208. flex-flow: column-reverse !important;
  209.  
  210. .browse-sidebar-container {
  211. width: auto !important;
  212. padding: 12px 8px !important;
  213. display: flex !important;
  214. flex-flow: row wrap;
  215. gap: 8px 24px !important;
  216. align-items: center !important;
  217. white-space: nowrap;
  218.  
  219. .sidebar-browse-container > h4 {
  220. display: none !important;
  221. }
  222. .browser-sidebar-search-box {
  223. padding: 0 !important;
  224. }
  225.  
  226. .flex-container:has(input[name="order-by"]) {
  227. .ath-search-header-text("Sort by");
  228. }
  229. .jsDateRangeInputs .gridContainer {
  230. .ath-search-header-text("Date range");
  231. .gridContainer__item:has(input[value="1day"]) {
  232. .ath-search-label-text("1d");
  233. }
  234. .gridContainer__item:has(input[value="3days"]) {
  235. .ath-search-label-text("3d");
  236. }
  237. .gridContainer__item:has(input[value="7days"]) {
  238. .ath-search-label-text("7d");
  239. }
  240. .gridContainer__item:has(input[value="30days"]) {
  241. .ath-search-label-text("30d");
  242. }
  243. .gridContainer__item:has(input[value="90days"]) {
  244. .ath-search-label-text("90d");
  245. }
  246. .gridContainer__item:has(input[value="1year"]) {
  247. .ath-search-label-text("1y");
  248. }
  249. .gridContainer__item:has(input[value="3years"]) {
  250. .ath-search-label-text("3y");
  251. }
  252. .gridContainer__item:has(input[value="5years"]) {
  253. .ath-search-label-text("5y");
  254. }
  255. }
  256. .gridContainer:has(input[name="rating-general"]) {
  257. .ath-search-header-text("Rating");
  258. }
  259. .gridContainer:has(input[name="type-art"]) {
  260. .ath-search-header-text("Type");
  261. }
  262. .gridContainer:has(input[name="mode"]) {
  263. .ath-search-header-text("Search for");
  264. .gridContainer__item:has(input[value="all"]) {
  265. .ath-search-label-text("All words");
  266. }
  267. .gridContainer__item:has(input[value="any"]) {
  268. .ath-search-label-text("Any words");
  269. }
  270. .gridContainer__item:has(input[value="extended"]) {
  271. .ath-search-label-text("Advanced syntax");
  272. }
  273. }
  274.  
  275. .jsDateRangeInputs,
  276. .jsManualRangeContainer__item,
  277. .flex-container,
  278. .gridContainer {
  279. display: flex !important;
  280. flex-flow: row !important;
  281. width: auto !important;
  282. gap: 8px 12px !important;
  283. margin: 0 !important;
  284. align-items: center !important;
  285. }
  286.  
  287. .jsManualRangeContainer__item {
  288. height: auto !important;
  289. line-height: normal !important;
  290. flex-direction: row-reverse !important;
  291. input,
  292. span {
  293. width: auto !important;
  294. }
  295. }
  296.  
  297. .browse-sidebar-content,
  298. #sidebar-options,
  299. .sidebar-options-content,
  300. .sidebar-browse-container,
  301. #search-flex-container,
  302. #search-advanced,
  303. .jsManualRangeContainer:not(.hidden) {
  304. display: contents !important;
  305. }
  306.  
  307. h4 {
  308. font-size: inherit !important;
  309. line-height: 1 !important;
  310. letter-spacing: normal !important;
  311. padding: 0 !important;
  312. width: auto !important;
  313. }
  314.  
  315. #search-advanced2 {
  316. > [style*=margin] {
  317. margin: 0 !important;
  318. float: right !important;
  319. }
  320. }
  321.  
  322. .tallRectangleAd {
  323. margin: 0 !important;
  324. }
  325. }
  326.  
  327. .browse-search-flex-container {
  328. display: flex !important;
  329. flex-flow: row wrap;
  330. gap: 4px 16px !important;
  331. align-items: center !important;
  332. white-space: nowrap;
  333.  
  334. .browse-search-flex-item {
  335. flex: 0 !important;
  336. padding: 0 !important;
  337.  
  338. input,
  339. select {
  340. width: 200px !important;
  341. }
  342. }
  343.  
  344. .search-flex-item-title,
  345. .search-flex-item-3 {
  346. width: auto !important;
  347. }
  348. }
  349.  
  350. #query-stats {
  351. display: flex !important;
  352. flex-flow: row wrap !important;
  353. gap: 0 16px !important;
  354.  
  355. div {
  356. display: flex !important;
  357. flex-flow: row wrap !important;
  358. gap: 0 3px !important;
  359. font-size: 0 !important;
  360.  
  361. h3 {
  362. line-height: normal !important;
  363. padding: 0 !important;
  364. }
  365. span {
  366. font-size: 13px !important;
  367. }
  368. }
  369. }
  370. }
  371. }
  372. }

QingJ © 2025

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