対応ブラウザの多さ、調整のしやすさを考慮するとSVGを使うのはどうでしょうか。
SVGは、Illustrator等のベクター画像編集ソフトウェアを使わずとも、
以下のようにテキストエディタでの編集もできます。
svg
1<!--?xml version="1.1" encoding="utf-8"?-->
2<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 512 512" style="width: 512px; height: 512px; opacity: 1;">
3 <path d="M 0 0 L 512 16 L 498 48 L 16 64 L 0 0" stroke="#000000" fill="transparent" stroke-width="2" />
4</svg>
5
こちらをborder.svgといったような名前で保存して画像ソフトかブラウザで開いてみてください。
各辺の長さが異なる四角が表示されるかと思います。
背景として使うなら、CSSにbackground-size: 100% 100%;とすればレスポンシブに対応しつつ、2行以上になっても問題ないはずです。(ブラウザによってバグがあるかも。その時は調べれば解決法が出ると思います。)
#簡単なSVGの記述内容の説明
線の角度調整したいこともあると思うので軽く説明します。
正直蛇足感があるので、読まなくても結構です。
今回はd="M 0 0 L 512 16 L 498 48 L 16 64 L 0 0"の部分に関して説明します。
英数字が羅列してあるように見えますが、この記述が図形を決めています。
「英字」「数字」「数字」を1グループと考えるので、今回は5グループに分けられます。
1グループは1つの指示です。
SVGというキャンバス上に、指示を待っている「点」が1つあると考えてください。
以下はその「点」への指示です。
最初のM 0 0は、x座標「0」、y座標「0」に「M」移動
次のL 512 16は、x座標「512」、y座標「16」まで「L」線を引く
次のL 498 48は、x座標「498」、y座標「48」まで「L」線を引く
次のL 16 64は、x座標「16」、y座標「64」まで「L」線を引く
次のL 0 0は、x座標「0」、y座標「0」まで「L」線を引く
先述の通り「点」は1つしかありません。
例えばL 512 16という指示の後、点は線を引いた後の地点x=512,y=16からL 512 16の指示を行うことになります。
それにより今回の場合は、ずっと「L」で線を引いているので一筆書きのようにつながって描画されます。
以上でやりたいことはできるかと思います。