mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:02:45 +00:00 
			
		
		
		
	 d670c13a3b
			
		
	
	
		d670c13a3b
		
	
	
	
	
		
			
			This moves LibWeb to using the list of hidden elements from the spec. Concretely, the following things are now explicitly marked `display: none` in addition to before: - elements with the `hidden` attribute - area - base - basefont - datalist - param - rp The spec also wants `noframes` and `noembed` to be `display: none`, but since support for frames and embeds doesn't exist yet, these are omitted for now. With this, everyone's favorite website http://45.33.8.238/ no longer displays spans with attribute hidden. (Whitespace handling still looks a bit off though.)
		
			
				
	
	
		
			251 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			251 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| html {
 | |
|     font-family: sans-serif;
 | |
|     color: -libweb-palette-base-text;
 | |
| }
 | |
| 
 | |
| a {
 | |
|     cursor: pointer;
 | |
| }
 | |
| 
 | |
| body {
 | |
|     margin: 8px;
 | |
| }
 | |
| 
 | |
| h1,
 | |
| h2 {
 | |
|     font-family: Pebbleton;
 | |
|     font-size: 14px;
 | |
|     font-weight: bold;
 | |
| }
 | |
| 
 | |
| h3,
 | |
| h4,
 | |
| h5,
 | |
| h6 {
 | |
|     font-weight: bold;
 | |
| }
 | |
| 
 | |
| pre {
 | |
|     font-family: monospace;
 | |
|     margin-bottom: 8px;
 | |
|     margin-top: 8px;
 | |
|     white-space: pre;
 | |
| }
 | |
| 
 | |
| code {
 | |
|     font-family: monospace;
 | |
| }
 | |
| 
 | |
| u,
 | |
| ins {
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| strong,
 | |
| b {
 | |
|     font-weight: bold;
 | |
| }
 | |
| 
 | |
| html,
 | |
| address,
 | |
| blockquote,
 | |
| body,
 | |
| dd,
 | |
| div,
 | |
| dl,
 | |
| dt,
 | |
| fieldset,
 | |
| form,
 | |
| frame,
 | |
| frameset,
 | |
| hgroup,
 | |
| h1,
 | |
| h2,
 | |
| h3,
 | |
| h4,
 | |
| h5,
 | |
| h6,
 | |
| noframes,
 | |
| ol,
 | |
| p,
 | |
| ul,
 | |
| center,
 | |
| dir,
 | |
| hr,
 | |
| menu,
 | |
| pre,
 | |
| header,
 | |
| footer,
 | |
| nav,
 | |
| main,
 | |
| article,
 | |
| aside,
 | |
| section {
 | |
|     display: block;
 | |
| }
 | |
| 
 | |
| center {
 | |
|     text-align: -libweb-center;
 | |
| }
 | |
| 
 | |
| h1,
 | |
| h2,
 | |
| h3 {
 | |
|     margin: 8px 0 8px 0;
 | |
| }
 | |
| 
 | |
| h4,
 | |
| p,
 | |
| blockquote,
 | |
| ul,
 | |
| fieldset,
 | |
| form,
 | |
| ol,
 | |
| dl,
 | |
| dir,
 | |
| menu {
 | |
|     margin: 4px 0 4px 0;
 | |
| }
 | |
| 
 | |
| h5,
 | |
| h6 {
 | |
|     margin: 2px 0 2px 0;
 | |
| }
 | |
| 
 | |
| li {
 | |
|     display: list-item;
 | |
|     margin-left: 8px;
 | |
|     margin-top: 2px;
 | |
|     margin-bottom: 2px;
 | |
| }
 | |
| 
 | |
| a:link {
 | |
|     color: -libweb-link;
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| a:hover {
 | |
|     color: red;
 | |
| }
 | |
| 
 | |
| hr {
 | |
|     margin-top: 0.5em;
 | |
|     margin-bottom: 0.5em;
 | |
|     border: 1px inset #888888;
 | |
| }
 | |
| 
 | |
| blink {
 | |
|     display: inline;
 | |
| }
 | |
| 
 | |
| table {
 | |
|     display: table;
 | |
| }
 | |
| 
 | |
| thead {
 | |
|     display: table-header-group;
 | |
|     vertical-align: middle;
 | |
|     border-color: inherit;
 | |
| }
 | |
| 
 | |
| tbody {
 | |
|     display: table-row-group;
 | |
|     vertical-align: middle;
 | |
|     border-color: inherit;
 | |
| }
 | |
| 
 | |
| tfoot {
 | |
|     display: table-footer-group;
 | |
|     vertical-align: middle;
 | |
|     border-color: inherit;
 | |
| }
 | |
| 
 | |
| tr {
 | |
|     display: table-row;
 | |
| }
 | |
| 
 | |
| td,
 | |
| th {
 | |
|     display: table-cell;
 | |
| }
 | |
| 
 | |
| col {
 | |
|     display: table-column;
 | |
| }
 | |
| 
 | |
| colgroup {
 | |
|     display: table-column-group;
 | |
| }
 | |
| 
 | |
| blockquote {
 | |
|     margin-left: 25px;
 | |
|     margin-right: 25px;
 | |
| }
 | |
| 
 | |
| ul,
 | |
| ol {
 | |
|     padding-left: 20px;
 | |
| }
 | |
| 
 | |
| ul {
 | |
|     list-style-type: disc;
 | |
| }
 | |
| 
 | |
| ol {
 | |
|     list-style-type: decimal;
 | |
| }
 | |
| 
 | |
| /* FIXME: Implement these using :is() :^) */
 | |
| /* :is(ul, ol) ul */
 | |
| ul ul,
 | |
| ol ul {
 | |
|     list-style-type: circle;
 | |
| }
 | |
| 
 | |
| /* :is(ul, ol) :is(ul, ol) ul */
 | |
| ul ul ul,
 | |
| ol ul ul,
 | |
| ul ol ul,
 | |
| ol ol ul {
 | |
|     list-style-type: square;
 | |
| }
 | |
| 
 | |
| /* FIXME: This is a temporary hack until we can render a native-looking frame for these. */
 | |
| input[type=text] {
 | |
|     border: 1px solid black;
 | |
|     min-width: 80px;
 | |
|     min-height: 16px;
 | |
| }
 | |
| 
 | |
| option {
 | |
|     display: none;
 | |
| }
 | |
| 
 | |
| details {
 | |
|     display: block;
 | |
|     padding-left: 1em;
 | |
| }
 | |
| 
 | |
| summary {
 | |
|     display: block;
 | |
|     font-weight: bold;
 | |
| }
 | |
| 
 | |
| /* 15.3.1 Hidden elements
 | |
|  * https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements
 | |
|  */
 | |
| /* FIXME: Add `noframes` once frames are implemented. */
 | |
| /* FIXME: Add `noembed` once <embed> is implemented. */
 | |
| /* FIXME: Add `rp` once <ruby> is implemented. */
 | |
| [hidden], area, base, basefont, datalist, head, link, meta, /*noembed,*/
 | |
| /*noframes,*/ param, /*rp,*/ script, style, template, title {
 | |
|   display: none;
 | |
| }
 | |
| 
 | |
| embed[hidden] { display: inline; height: 0; width: 0; }
 | |
| 
 | |
| input[type=hidden i] { display: none !important; }
 | |
| 
 | |
| @media (scripting) {
 | |
|   noscript { display: none !important; }
 | |
| }
 |