In a navigation design I need to give border like this. I know how to create double border but don’t how to create border which has some gap on top and bottom.

I know it can be done using an images but curious to know if it’s possible to make in CSS only
Yes, it can easily be done using just CSS.
demo
HTML:
Relevant CSS:
Alternatively, if you don’t want to have a non-clickable area at the top and bottom, you could try it the other way:
demo
CSS:
A third way to do this, also extending the clickable area to the borders as well would be to use pseudo-elements on the links to get the lateral borders.
demo
CSS: