Faits : A. A.a. D._, A._ et B._, C._, ainsi que E._ et F._ sont copropriétaires par étage de parts de l'immeuble n° 5299 du registre foncier de H._. Lors de la construction de cet immeuble, en 2011, G._ Sàrl a réalisé des travaux de menuiserie - notamment la fourniture et la pose de portes, fenêtres et parquets - selon contrat oral de sous-traitance passé avec l'entrepreneur général, I._ Sàrl, aujourd'hui radiée du registre du commerce ensuite de sa faillite. Pour ces travaux, un solde de 42'815 fr. 60 au total demeure impayé, selon factures du 5 octobre 2011. Dès lors, G._ Sàrl a, le 4 avril 2012, déposé à l'encontre des copropriétaires susmentionnés, ainsi que contre les autres copropriétaires, à savoir J._ et I._ Sàrl, une requête d'inscription provisoire d'hypothèques légales à laquelle il a été fait droit le même jour. Par la suite, la procédure a été rayée du rôle s'agissant de J._, qui a trouvé un accord avec G._ Sàrl, et de I._ Sàrl. A.b. Le 31 octobre 2012, soit dans le délai imparti judiciairement, G._ Sàrl a déposé sa demande au fond. Dans leur réponse du 31 mars 2014, les copropriétaires concernés ont conclu au rejet de celle-ci. Ils faisaient valoir que, sous réserve d'opérations mineures début décembre 2011, les travaux avaient été achevés en octobre 2011, et que le délai pour obtenir l'inscription des hypothèques légales en vigueur lors de l'exécution de ces travaux - soit 3 mois - était échu lors du dépôt de la requête d'inscription provisoire. Le Tribunal civil de la Veveyse (ci-après: Tribunal civil) a tenu deux séances, les 7 mai 2014 et 29 avril 2015, au cours desquelles il a entendu les parties et plusieurs témoins. Au début de la première séance, le mandataire de l'entrepreneur a notamment complété ses allégués en ce sens que les travaux réalisés en décembre 2011 et en 2012 concernaient principalement l'appartement de J._, mais aussi les locaux communs, et qu'ils avaient été commandés par un seul contrat, ce que les copropriétaires ont "contesté car ignoré", sans autre précision. B. Par jugement du 19 août 2015, le Tribunal civil a ordonné l'inscription d'hypothèques légales sur les parts PPE des copropriétaires pour des montants en capital respectifs de 8'185 fr. 95 et deux fois 165 fr. 80 (D._), 13'698 fr. 95 et deux fois 165 fr. 80 (A._ et B._), 9'578 fr. 15 et 165 fr. 80 (C._), ainsi que 10'357 fr. 75 et 165 fr. 80 (E._ et F._). Le 21 septembre 2015, les copropriétaires en cause ont interjeté appel contre le jugement du 19 août 2015. Ils concluaient notamment à la modification de celui-ci en ce sens que la demande est principalement déclarée irrecevable, subsidiairement rejetée, et que la radiation des hypothèques légales inscrites provisoirement est ordonnée. Par arrêt du 29 février 2016, la Cour d'appel civil du Tribunal cantonal de l'État de Fribourg (ci-après: Cour d'appel) a rejeté l'appel et confirmé le jugement du 19 août 2015. C. Par acte posté le 15 avril 2016, les appelants exercent un recours en matière civile au Tribunal fédéral, assorti d'une requête d'effet suspensif. Ils concluent principalement à la réforme de l'arrêt du 29 février 2016 dans le sens des conclusions contenues dans leur acte d'appel cantonal. Subsidiairement, ils sollicitent le renvoi de la cause à la Cour d'appel pour nouvelle décision dans le sens des considérants. L'intimée conclut au rejet du recours. L'autorité cantonale a renoncé à se déterminer. D. Par ordonnance présidentielle du 9 mai 2016, il a été constaté que le recours était assorti de l'effet suspensif de par la loi s'agissant de l'inscription définitive des hypothèques légales des artisans et entrepreneurs, la requête d'effet suspensif étant rejetée pour le surplus.