デザイン的にはボーダーを使うのが楽そうですが、内部にコンテンツがあるとネガティブマージンなどで対応が必要になりますね。
サンプルを置いておきます。
https://jsfiddle.net/Lhankor_Mhy/vs046hec/
css
1div{
2 width: 150px;
3 height: 150px;
4 background: url(http://placehold.jp/150x150.png?text=);
5 box-sizing: border-box;
6 background-origin: border-box;
7 border-left: 50px solid rgba(0,255,0,0.5);
8 border-right: 50px solid rgba(0,255,0,0.5);
9}
複数背景でグラデーションを重ねる方法もご提示しておきます。
こっちの方がすっきりしそう?
https://jsfiddle.net/Lhankor_Mhy/vs046hec/1/
css
1div{
2 width: 150px;
3 height: 150px;
4 background: linear-gradient(to left, rgba(0,255,0,0.5) 0% 33.33%, transparent 33.33% 66.66%, rgba(0,255,0,0.5) 66.66% 100%),
5 url(http://placehold.jp/150x150.png?text=);
6}
質問の変更に合わせて追記
calcを使えばいいかと。
https://jsfiddle.net/Lhankor_Mhy/vs046hec/2/
css
1.fv{
2 background: linear-gradient(to left, rgba(0,255,0,0.5) 0% calc((100% - 1400px)/2), transparent calc((100% - 1400px)/2) calc(100% - (100% - 1400px)/2), rgba(0,255,0,0.5) calc(100% - (100% - 1400px)/2) 100%),
3 url(http://placehold.jp/150x150.png?text=);
4}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。