Насколько мне известно, не существует кросс-браузерного способа сделать круг только с CSS и HTML.
Для квадрата, я думаю, вы могли бы сделать div с границей и z-индексом выше, чем вы кладете. Я не понимаю, зачем вам это нужно, когда вы можете просто поставить рамку на изображение или само «что-то».
Если кто-нибудь еще знает, как сделать круг, совместимый с браузером, совместимым только с CSS и HTML, я хотел бы услышать об этом!
@ Caspar Kleijne border-radius не работает в IE8 или ниже, не уверен насчет 9.