Christmas is a convoluted question which I don't feel like revisiting today, but Easter is relatively straightfoward.
All the canonical gospels tie Jesus' crucifixion to the events of Passover. Passover itself is fixed as the first full moon following the spring equinox. So Passover is fixed by (a) the equinox, and (b) the Jewish lunar calendar cycle. Obviously this means that Passover moves in relation to a solar calendar.
There was disagreement in the early church about when to celebrate Easter though. Churches in Asia Minor appear to have celebrated Easter on Nisan 14, and the evening leading into Passover. That is, they chose a fixed date for Easter. Other churches chose a fixed Sunday, i.e. the first Sunday. This developed into something of a conflict in the latter 2nd and 3rd centuries, but by the early 4th century the widespread practice was the adoption of the Sunday, not the fixed date.
The council of Nicaea appears to fix the date of Easter in resolution of this debate, though per DelCogliano it seems this is actually dealing with a separate calendrical issue - the use of the Julian calendar rather than a continuing practice of calculating the lunar cycle of the contemporary Jewish calendar.