Делал нечто похожее раньше.
Пример того, как это делается:
codepen.io/skosterin88/pen/oYmPbW
Я делал это для другого проекта, соответственно, названия стилей сохранились оттуда.
nav-ul-li - меню, div с классом services-data - обертка для содержимого таба. Выделенному по умолчанию элементу меню задаем класс service-menu-item-active.
services-info - это описание отдельного элемента. Для элементов данного класса по умолчанию задаем свойство display:none. Тому, что отображается по умолчанию, задаем отдельный класс service-info-visible.
Отображение разных табов при нажатии разных кнопок задается уже через JavaScript.