---
# System prepended metadata

title: Basic HTML Interfaces
tags: [Guide To Contibuting]

---

###### tags: `Guide To Contibuting`

# Basic HTML Interfaces

With some simple HTML, you can make interfaces, however BYOND uses IE as it's "browser". 
Which means *some* html feature is nonexistent. You can check compatability of these at <https://caniuse.com>


## Normal HTML interface

This is recommended for admin UIs (like banning) or important UIs (varedit pannel). But the [Datum HTML Interface](#Datum-HTML-interface) is recommended as it already has some basic css theme on it. 
Or even better, if you want a fancy but still fast UI, you can use [TGUI](/WXQWZ4fTQ-Wse_ZFzIx6EQ).

To show a user a new window, you just have to do this:

`usr << browse(Body,Options)`
This sends the html text or file to the user and optionally displays it in the web browser. Passing in '`null`' for the html text causes the browser panel or named window to be closed. More info [here](https://secure.byond.com/docs/ref/index.html#/proc/browse).

Example:

```DM
var/dat = "<center><b>"
dat += "THELAW"
dat += "</b></center>"
dat += "<b>Is beepsky.</b>"

usr << browse(dat, "window=THE LAW;display=1;size=300x300;")
```
This should show a 300x300 window named "THE LAW" containing this:

<center><b>THELAW</b></center>
<b>Is beepsky.</b>

## Datum HTML interface

datum browser thing. and tell them that you can import custom css or asset cache css

```DM
var/datum/browser/popup = new()
popup.open()
```
