Linear complementary dual (LCD) codes and self-orthogonal codes have attracted wide attention in recent years for some practical applications. Hence, in this letter, we use simplicial complexes for construction of an infinite family of binary LCD codes and two infinite families of binary self-orthogonal codes. Moreover, we explicitly determine the weight distributions of these codes. We obtain binary LCD codes which have minimum weights two or three, and we also find some self-orthogonal codes meeting the Griesmer bound. As examples, we also present some (almost) optimal binary self-orthogonal codes and LCD distance optimal codes.