mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:22:45 +00:00 
			
		
		
		
	LibWeb: Allow absolute boxes to have a % height of a % height parent
Previously absolutely positioned boxes could only have a % height if their parent had a absolute height (a height in pixels, em, etc). This broke some websites/demos such as the "Francine CSS oil painting", which starts to appear after this commit. Francine: https://diana-adrianne.com/purecss-francine/
This commit is contained in:
		
							parent
							
								
									5049a56d96
								
							
						
					
					
						commit
						0e8dafcbb8
					
				
					 1 changed files with 1 additions and 6 deletions
				
			
		|  | @ -658,7 +658,6 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el | |||
| 
 | ||||
|     // FIXME: The section below is partly on-spec, partly ad-hoc.
 | ||||
|     auto& computed_values = box.computed_values(); | ||||
|     auto const& containing_block = *box.containing_block(); | ||||
| 
 | ||||
|     auto width_of_containing_block = containing_block_width_for(box); | ||||
|     auto height_of_containing_block = containing_block_height_for(box); | ||||
|  | @ -675,12 +674,8 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el | |||
|     auto used_bottom = computed_bottom.resolved(box, height_of_containing_block_as_length).resolved(box).to_px(box); | ||||
|     auto tentative_height = CSS::Length::make_auto(); | ||||
| 
 | ||||
|     if (computed_values.height().is_percentage() | ||||
|         && !(containing_block.computed_values().height().is_length() && containing_block.computed_values().height().length().is_absolute())) { | ||||
|         // tentative_height is already auto
 | ||||
|     } else { | ||||
|     if (!computed_height.is_auto()) | ||||
|         tentative_height = computed_values.height().resolved(box, height_of_containing_block_as_length).resolved(box); | ||||
|     } | ||||
| 
 | ||||
|     auto& box_state = m_state.get_mutable(box); | ||||
|     box_state.margin_top = computed_values.margin().top.resolved(box, width_of_containing_block_as_length).to_px(box); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 MacDue
						MacDue