thread.less 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. // Thread view
  2. // -------------------------
  3. .thread-buttons {
  4. overflow: auto;
  5. .pull-right {
  6. margin-left: @baseFontSize;
  7. }
  8. .thread-signin-message {
  9. float: right;
  10. a:link, a:visited {
  11. color: @textColor;
  12. }
  13. }
  14. }
  15. // Thread body styles
  16. .thread-body {
  17. .post-wrapper {
  18. // Post body
  19. .post-body {
  20. margin-bottom: @baseLineHeight;
  21. overflow: auto;
  22. .user-avatar {
  23. border-radius: @borderRadiusLarge;
  24. float: left;
  25. width: 100px;
  26. height: 100px;
  27. }
  28. .post-content {
  29. background-color: @postBackground;
  30. border: 1px solid @postBorder;
  31. border-radius: @borderRadiusLarge;
  32. margin-left: 100px + (@baseFontSize * 1.5);
  33. min-height: 100px;
  34. position: relative;
  35. &:after, &:before {
  36. right: 100%;
  37. border: solid transparent;
  38. content: "";
  39. height: 0; width: 0;
  40. position: absolute;
  41. pointer-events: none;
  42. }
  43. &:after {
  44. border-color: transparent;
  45. border-right-color: @postBackground;
  46. border-width: @fontSizeMini;
  47. top: @baseFontSize;
  48. margin-top: (@baseFontSize * -1) + @baseFontSize;
  49. }
  50. &:before {
  51. border-color: transparent;
  52. border-right-color: @postBorder;
  53. border-width: @fontSizeMini + 1;
  54. top: @baseFontSize;
  55. margin-top: (@baseFontSize * -1) + @baseFontSize - 1px;
  56. }
  57. .post-header {
  58. padding: (@baseFontSize / 2) @baseFontSize;
  59. padding-bottom: 0px;
  60. color: grayLighter;
  61. .post-author {
  62. color: @textColor;
  63. font-weight: bold;
  64. }
  65. .post-author-label {
  66. text-shadow: none;
  67. &.post-label-guest {
  68. background-color: @grayLighter;
  69. color: @grayLight;
  70. }
  71. }
  72. .separator {
  73. color: @grayLighter;
  74. font-size: @fontSizeLarge;
  75. line-height: 5px;
  76. }
  77. .post-date {
  78. color: @grayLight;
  79. }
  80. .post-changelog {
  81. color: @grayLight;
  82. &:hover, &:active {
  83. color: @textColor;
  84. }
  85. }
  86. .post-perma {
  87. display: block;
  88. float: right;
  89. padding-left: 6px;
  90. color: @grayLight;
  91. font-weight: bold;
  92. &:hover, &:active {
  93. color: @textColor;
  94. }
  95. }
  96. .post-checkbox {
  97. float: right;
  98. position: relative;
  99. left: @baseFontSize - 4px;
  100. }
  101. .post-extra {
  102. float: right;
  103. .label {
  104. margin-left: @baseFontSize / 4;
  105. text-shadow: none;
  106. &.label-purple {
  107. background-color: #7e2ecf;
  108. }
  109. }
  110. }
  111. }
  112. .post-message {
  113. .markdown {
  114. padding: @baseFontSize;
  115. }
  116. .post-signature {
  117. border-top: 1px dotted darken(@postBackground, 25%);
  118. .opacity(60);
  119. margin: 0px @baseFontSize;
  120. font-size: 80%;
  121. .markdown {
  122. padding: 0px;
  123. padding-top: @baseLineHeight / 4;
  124. padding-bottom: @baseFontSize;
  125. }
  126. }
  127. }
  128. .post-footer {
  129. border-top: 1px solid @postBorder;
  130. overflow: auto;
  131. &:empty {
  132. display: none;
  133. }
  134. .post-rating {
  135. float: left;
  136. overflow: auto;
  137. padding: (@baseFontSize / 2) @baseFontSize;
  138. border-right: 1px dotted @postBorder;
  139. a {
  140. color: @grayLight;
  141. &:hover, a:active {
  142. color: @textColor;
  143. }
  144. }
  145. span {
  146. float: left;
  147. &.post-score {
  148. color: @grayLight;
  149. font-weight: bold;
  150. &.post-score-good {
  151. color: @green;
  152. }
  153. &.post-score-bad {
  154. color: @red;
  155. }
  156. }
  157. &.post-neutral, &.post-like, &.post-hate {
  158. margin-left: (@baseFontSize / 4);
  159. }
  160. &.post-neutral {
  161. color: @grayLight;
  162. }
  163. &.post-like {
  164. color: @green;
  165. }
  166. &.post-hate {
  167. color: @red;
  168. }
  169. }
  170. form {
  171. float: left;
  172. margin: 0px;
  173. padding: 0px;
  174. .btn-link {
  175. float: right;
  176. margin: 0px;
  177. margin-left: (@baseFontSize / 4);
  178. .opacity(100);
  179. padding: 0px;
  180. color: @grayLight;
  181. font-weight: normal;
  182. &:hover, &:active, &:focus {
  183. text-decoration: underline;
  184. }
  185. &.post-like {
  186. &:hover, &:active, &:focus {
  187. color: @green;
  188. }
  189. }
  190. &.post-hate {
  191. &:hover, &:active, &:focus {
  192. color: @red;
  193. }
  194. }
  195. }
  196. }
  197. }
  198. .post-actions {
  199. border-left: 1px dotted @postBorder;
  200. float: right;
  201. padding: (@baseFontSize / 2) @baseFontSize;
  202. color: @grayLight;
  203. a, span, form {
  204. float: left;
  205. overflow: auto;
  206. }
  207. form {
  208. margin: 0px;
  209. padding: 0px;
  210. }
  211. a {
  212. margin-left: @baseFontSize;
  213. color: @grayLight;
  214. &:hover, a:active {
  215. color: @textColor;
  216. }
  217. &:first-child {
  218. margin-left: 0px;
  219. }
  220. &.post-reply {
  221. color: @gray;
  222. &:hover, a:active {
  223. color: @blue;
  224. }
  225. }
  226. }
  227. .btn {
  228. float: right;
  229. margin: 0px;
  230. margin-left: @baseFontSize;
  231. .opacity(100);
  232. padding: 0px;
  233. color: @grayLight;
  234. font-weight: normal;
  235. &:hover, &:active, &:focus {
  236. color: @red;
  237. text-decoration: underline;
  238. }
  239. }
  240. }
  241. }
  242. }
  243. &.post-muted {
  244. .user-avatar {
  245. width: 50px;
  246. height: 50px;
  247. .opacity(75);
  248. }
  249. .post-content {
  250. margin-left: 50px + (@baseFontSize * 1.5);
  251. min-height: 0px;
  252. .opacity(75);
  253. padding: @baseFontSize;
  254. .post-header {
  255. float: right;
  256. margin: 0px;
  257. margin-top: ((@baseFontSize / 2) * -1);
  258. margin-right: @baseFontSize * -1;
  259. .post-header-compact {
  260. float: left;
  261. margin-right: @baseFontSize;
  262. }
  263. }
  264. .post-message {
  265. color: @grayLight;
  266. font-size: @fontSizeLarge;
  267. strong, a {
  268. color: @textColor;
  269. font-weight: normal;
  270. }
  271. }
  272. }
  273. }
  274. }
  275. }
  276. .post-checkpoints {
  277. .post-checkpoint {
  278. text-align: center;
  279. margin-bottom: @baseLineHeight;
  280. hr {
  281. background-color: @grayLight;
  282. background-image: -webkit-gradient(linear, 0 0, 100% 100%,
  283. color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent),
  284. color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)),
  285. color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent),
  286. to(transparent));
  287. background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,
  288. transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,
  289. transparent 75%, transparent);
  290. background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,
  291. transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,
  292. transparent 75%, transparent);
  293. background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,
  294. transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,
  295. transparent 75%, transparent);
  296. background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,
  297. transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,
  298. transparent 75%, transparent);
  299. background-image: linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,
  300. transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,
  301. transparent 75%, transparent);
  302. -webkit-background-size: 10px 10px;
  303. -moz-background-size: 10px 10px;
  304. background-size: 10px 10px;
  305. border: none;
  306. height: 4px;
  307. margin-bottom: (@baseLineHeight * -1) + (@baseFontSize / 2) + 1px;
  308. }
  309. span {
  310. background-color: @bodyBackground;
  311. padding: 0px @baseFontSize;
  312. color: @grayLight;
  313. a {
  314. color: @textColor;
  315. }
  316. i {
  317. .opacity(43);
  318. }
  319. }
  320. }
  321. }
  322. }
  323. // Thread moderation
  324. .thread-moderation {
  325. background-color: @categoryBackground;
  326. border: 1px solid @categoryBorder;
  327. border-radius: @baseBorderRadius;
  328. .box-shadow(0px 0px 0px 3px @categoryShadow);
  329. margin-bottom: @baseLineHeight;
  330. overflow: auto;
  331. padding: (@baseFontSize / 2);
  332. form {
  333. margin: 0px;
  334. }
  335. }
  336. // Quick reply styles
  337. .thread-quick-reply {
  338. overflow: auto;
  339. margin-top: @baseLineHeight;
  340. .user-avatar {
  341. border-radius: @baseBorderRadius;
  342. float: left;
  343. width: 125px;
  344. height: 125px;
  345. }
  346. .editor {
  347. margin-left: 125px + (@baseFontSize * 2);
  348. position: relative;
  349. &:after, &:before {
  350. right: 100%;
  351. border: solid transparent;
  352. content: "";
  353. height: 0; width: 0;
  354. position: absolute;
  355. pointer-events: none;
  356. }
  357. &:after {
  358. border-color: transparent;
  359. border-right-color: @editorBackground;
  360. border-width: @baseFontSize;
  361. top: @baseFontSize / 2;
  362. margin-top: ((@baseFontSize / 2) * -1) + @baseFontSize;
  363. }
  364. &:before {
  365. border-color: transparent;
  366. border-right-color: darken(@editorBackground, 10%);
  367. border-width: @baseFontSize + 1;
  368. top: @baseFontSize / 2;
  369. margin-top: ((@baseFontSize / 2) * -1) + @baseFontSize - 1px;
  370. }
  371. }
  372. }