unity – why are the elements of the user interface behind the field when using "screen – camera space"?

I was trying to solve a different problem and in doing so I came across this problem: when I defined my canvas (for the onscreen user interface) on the screen ;use screen space – camera (and adjusting camera parameters), my user interface is cut off by the terrain, as shown in this image below.

enter description of image here

It should look like this image below, which is the case when I use "screen space – overlay".

enter description of image here

I did my best to research this and found conflicting information if I was to use screen space – overlay or camera. It seems that the camera is a performance parameter, so I don't know how that would solve my original problem.

Either way, I could use some help to understand what affects the user interface like that. I am using Unity 2018.4.13f.

What's wrong with my game that the pitch makes on the user interface?

I know my UI is as ugly as a dog, but I would still like it to appear: D

unit – Render Mode "Screen Space – Camera" inflates prefabricated buttons to no longer fit on the canvas, help

Referring to a previous article (link) and using the solution, I came across a situation that I do not understand. When rendering the frame is set to "Screen Space – Camera" rather than "Screen – Overlay", as in the original message. my context menu buttons expand to a size larger than the canvas itself. I'm trying to manually resize the prefabricated button to a reasonable size, but it seems that the width does not allow me to change it. And changing the overlay rendering itself will require a decent amount of reworking of existing assets to make everything work properly.

My question is: what is needed to maintain the rendering mode "Screen Space – Camera", while maintaining the size of the buttons accordingly?

Paste previous content for reference:

Creating a content pane
(This panel will be a container for our context menu buttons)

Create a new user interface panel
Place the anchor at the bottom left
Set the width to 300 (as you wish)
Add a new Vertical Layout Group component to a panel and set the children's alignment to the upper center, forcing the children to expand across the width (not the height).
Adds a new Content Size and Adjuster component to a panel, and then adjust the Vertical Fit option to the minimum size.
Save it as prefabricated
(At this point, our panel will shrink to a line.It is normal.This panel accepts buttons as children, aligns them vertically and extends up to the height of summary content)

Creating a sample button
(This button will be instantiated and customized to display the context menu items)

Create a new user interface button

Place the anchor at the top left
Add a new Component Layout component to a button, set Minimum Height to 30, Preferred Height to 30.

Save it as prefabricated

Creating the ContextMenu.cs script

(This script has a method that creates and displays the context menu)

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

(System.Serializable)
public class ContextMenuItem
{
    // this class - just a box to some data

    public string text;             // text to display on button
    public Button button;           // sample button prefab
    public Action action;    // delegate to method that needs to be executed when button is clicked

    public ContextMenuItem(string text, Button button, Action action)
    {
        this.text = text;
        this.button = button;
        this.action = action;
    }
}

public class ContextMenu : MonoBehaviour
{
    public Image contentPanel;              // content panel prefab
    public Canvas canvas;                   // link to main canvas, where will be Context Menu

    private static ContextMenu instance;    // some kind of singleton here

    public static ContextMenu Instance
    {
        get
        {
            if(instance == null)
            {
                instance = FindObjectOfType(typeof(ContextMenu)) as ContextMenu;
                if(instance == null)
                {
                    instance = new ContextMenu();
                }
            }
            return instance;
        }
    }

    public void CreateContextMenu(List items, Vector2 position)
    {
        // here we are creating and displaying Context Menu

        Image panel = Instantiate(contentPanel, new Vector3(position.x, position.y, 0), Quaternion.identity) as Image;
        panel.transform.SetParent(canvas.transform);
        panel.transform.SetAsLastSibling();
        panel.rectTransform.anchoredPosition = position;

        foreach(var item in items)
        {
            ContextMenuItem tempReference = item;
            Button button = Instantiate(item.button) as Button;
            Text buttonText = button.GetComponentInChildren(typeof(Text)) as Text;
            buttonText.text = item.text;
            button.onClick.AddListener(delegate { tempReference.action(panel); });
            button.transform.SetParent(panel.transform);
        }
    }
}

Attach this script to a canvas and fill in the fields. Drag and drop the prefab ContentPanel to the corresponding slot and drag the canvas itself to place it on the canvas.

Creating the ItemController.cs script

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ItemController : MonoBehaviour
{
    public Button sampleButton;                         // sample button prefab
    private List contextMenuItems;     // list of items in menu

    void Awake()
    {
        // Here we are creating and populating our future Context Menu.
        // I do it in Awake once, but as you can see, 
        // it can be edited at runtime anywhere and anytime.

        contextMenuItems = new List();
        Action equip = new Action(EquipAction);
        Action use = new Action(UseAction);
        Action drop = new Action(DropAction);

        contextMenuItems.Add(new ContextMenuItem("Equip", sampleButton, equip));
        contextMenuItems.Add(new ContextMenuItem("Use", sampleButton, use));
        contextMenuItems.Add(new ContextMenuItem("Drop", sampleButton, drop));
    }

    void OnMouseOver()
    {
        if(Input.GetMouseButtonDown(1))
        {
            Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
            ContextMenu.Instance.CreateContextMenu(contextMenuItems, new Vector2(pos.x, pos.y));
        }

    }

    void EquipAction(Image contextPanel)
    {
        Debug.Log("Equipped");
        Destroy(contextPanel.gameObject);
    }

    void UseAction(Image contextPanel)
    {
        Debug.Log("Used");
        Destroy(contextPanel.gameObject);
    }

    void DropAction(Image contextPanel)
    {
        Debug.Log("Dropped");
        Destroy(contextPanel.gameObject);
    }
}

Create an example object in the scene (for example, a cube), place it so that it is visible to the camera, and attach that script to it. Drag the sampleButton prefix into the corresponding location.

Are there tools that mimic the "screen glow" (mobile)?

Simple question, does anyone know a tool capable of emulating screen glare for websites / apps? Specifically for the mobile screen glare.

Is it better for SEO to use alternate text or "screen reader only" text to describe an image containing text?

Whenever possible, I try to transform images containing text into html / css in order to separate textual content from the image for better responsiveness and better SEO. However, this can not sometimes be done because a client can explicitly ask to use the image.

In these cases, is it better to write the text that is on the image in the image? alt assign, or write it inside a class of screen reader only? Or both? I guess both are not read because it would read twice to a screen reader (once in the alt attribute and once in the alt attribute sr-only classroom).

I guess both are indexed by Google, but I wonder if there are any advantages / disadvantages for either option.

MacBook Pro 13 "screen replacement

I have Mac book pro 13 "mid-2014 and end of 2011,
All I wanted to know, is that it's possible to change my 2011 professional screen to broken screen in the middle of 2014, if the 2011 screen is compatible until the middle of 2014, are there any problems with installation? If someone meets this situation, please let me know and help me please. Thank you